如何total在C语言中将数组X和Y的元素包含在数组中?你能用一个例子来表示吗?
X = (float*) malloc(4);
Y = (float*) malloc(4);
total = (float*) malloc(8);
for (i = 0; i < 4; i++)
{
h_x[i] = 1;
h_y[i] = 2;
}
//How can I make 'total' have both the arrays x and y
//for example I would like the following to print out
// 1, 1, 1, 1, 2, 2, 2, 2
for (i = 0; i < 8; i++)
printf("%.1f, ", total[i]);
Run Code Online (Sandbox Code Playgroud)
Jon*_*Jon 35
您现有的代码正在分配错误的内存量,因为它根本没有考虑sizeof(float)到.
除此之外,您可以将一个数组附加到另一个数组memcpy:
float x[4] = { 1, 1, 1, 1 };
float y[4] = { 2, 2, 2, 2 };
float* total = malloc(8 * sizeof(float)); // array to hold the result
memcpy(total, x, 4 * sizeof(float)); // copy 4 floats from x to total[0]...total[3]
memcpy(total + 4, y, 4 * sizeof(float)); // copy 4 floats from y to total[4]...total[7]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
51255 次 |
| 最近记录: |