c语言向数组的末尾添加数据
时间: 2023-09-02 20:07:34 浏览: 172
在 C 语言中,数组的长度是固定不变的,无法直接向数组的末尾添加数据。但是,我们可以使用指针和动态内存分配来模拟向数组的末尾添加数据的操作。
下面是一个示例代码:
```
#include <stdio.h>
#include <stdlib.h>
int main()
{
int size = 3;
int *arr = (int *) malloc(size * sizeof(int));
// 向数组中添加数据
for (int i = 0; i < size; i++) {
arr[i] = i + 1;
}
// 输出原始数组
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
// 向数组末尾添加数据
size++;
arr = (int *) realloc(arr, size * sizeof(int));
arr[size-1] = 4;
// 输出修改后的数组
printf("\n");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
free(arr);
return 0;
}
```
在上面的代码中,我们首先使用 `malloc()` 函数动态分配了一个长度为 3 的整型数组,并向其中添加了数据。然后,我们使用 `realloc()` 函数重新分配数组的内存空间,并在其末尾添加了一个值为 4 的元素。最后,我们使用 `free()` 函数释放了数组的内存空间。
需要注意的是,在实际的程序中,我们还需要检查 `malloc()` 和 `realloc()` 函数是否成功分配了内存空间,以及释放内存空间的错误情况。