c 数组追加一个数组
时间: 2024-07-07 22:00:29 浏览: 121
在C语言中,如果你想要将一个数组追加到另一个数组,通常的做法是创建一个新的数组,这个新数组包含原有的数组元素加上新数组的所有元素。由于C语言不像一些现代语言那样支持原地数组扩展,所以你需要分配足够的空间来容纳两个数组的所有元素。
以下是一个简单的示例,假设我们有一个现有数组`existingArray`和一个新数组`newArray`:
```c
#include <stdio.h>
#include <stdlib.h> // 需要用到malloc库来动态分配内存
// 假设 existingArray 已经初始化了
int existingArray = {1, 2, 3, 4, 5};
// 新数组的新长度
int newArrayLength = 3;
// 动态分配新数组空间
int* appendedArray = malloc((sizeof(int) * (5 + newArrayLength)));
// 如果malloc成功,将原有数组元素复制过去
if (appendedArray != NULL) {
for (int i = 0; i < 5; i++) {
appendedArray[i] = existingArray[i];
}
// 将新数组元素追加到已复制的位置
for (int i = 0; i < newArrayLength; i++) {
appendedArray[5 + i] = newArray[i]; // 注意索引从5开始,因为原有5个元素
}
// 使用完后别忘了释放内存
free(appendedArray);
}
// 打印追加后的数组
for (int i = 0; i < 5 + newArrayLength; i++) {
printf("%d ", appendedArray[i]);
}
//