用C语言realloc函数使数组长度+1,并输入一个新的元素
时间: 2023-06-18 07:05:22 浏览: 105
你可以按照以下步骤使用`realloc`函数来实现:
1. 定义一个指向数组的指针 `arr`
2. 使用`malloc`函数为数组分配一定大小的内存空间,例如 `arr = (int*)malloc(sizeof(int) * size);`
3. 使用`realloc`函数将数组长度增加1,例如 `arr = (int*)realloc(arr, sizeof(int) * (size + 1));`
4. 输入新的元素,例如 `scanf("%d", &arr[size]);`
5. 更新数组大小,例如 `size++`
下面是完整的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int* arr;
int size = 5; // 初始数组长度
int i;
// 分配内存空间
arr = (int*)malloc(sizeof(int) * size);
// 输入初始元素
printf("请输入%d个整数:\n", size);
for (i = 0; i < size; i++) {
scanf("%d", &arr[i]);
}
// 增加数组长度
arr = (int*)realloc(arr, sizeof(int) * (size + 1));
// 输入新的元素
printf("请输入一个新的整数:\n");
scanf("%d", &arr[size]);
// 更新数组大小
size++;
// 输出数组
printf("新数组为:\n");
for (i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 释放内存空间
free(arr);
return 0;
}
```
阅读全文