gpt4 book ai didi

c - C语言如何追加两个数组?

转载 作者:太空狗 更新时间:2023-10-29 17:26:38 25 4
gpt4 key购买 nike

如何将数组 X 和 Y 的元素包含在 C 语言的数组 total 中?你能举个例子吗?

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]);

最佳答案

您现有的代码分配了错误数量的内存,因为它根本没有考虑 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]

关于c - C语言如何追加两个数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11932428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com