c语言数组后面添加参数
时间: 2023-10-13 21:18:17 浏览: 90
在C语言中,数组的大小在声明时需要确定,并且无法直接添加额外的元素。如果需要在数组末尾添加元素,可以使用动态内存分配的方式来实现。
具体实现方法:
1. 使用malloc函数动态分配新的内存空间,大小为原数组大小加上需要添加的元素个数。
2. 将原数组的元素复制到新的内存空间中。
3. 添加新的元素到新的内存空间的末尾。
4. 释放原数组所占用的内存空间。
5. 将新的内存空间赋值给原数组指针。
下面是一个简单的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int *arr = (int *)malloc(5 * sizeof(int)); // 原数组为大小为5的int型数组
for (int i = 0; i < 5; i++) {
arr[i] = i;
printf("%d ", arr[i]);
}
printf("\n");
int *new_arr = (int *)malloc(8 * sizeof(int)); // 新数组大小为8
for (int i = 0; i < 5; i++) {
new_arr[i] = arr[i]; // 复制原数组元素
}
new_arr[5] = 5; // 添加新元素
new_arr[6] = 6;
new_arr[7] = 7;
free(arr); // 释放原数组所占用的内存空间
arr = new_arr; // 将新的内存空间赋值给原数组指针
for (int i = 0; i < 8; i++) {
printf("%d ", arr[i]);
}
printf("\n");
free(new_arr); // 释放新数组所占用的内存空间
return 0;
}
```
输出结果为:
```
0 1 2 3 4
0 1 2 3 4 5 6 7
```
阅读全文