C语言建立未知大小的动态数组
时间: 2024-02-18 16:59:09 浏览: 74
在C语言中,可以使用指针和动态内存分配函数来建立未知大小的动态数组。最常用的动态内存分配函数是`malloc()`和`realloc()`。
下面是一个建立未知大小的整型数组的示例代码:
```
#include <stdio.h>
#include <stdlib.h>
int main() {
int n; // 数组大小
printf("请输入数组大小:");
scanf("%d", &n);
int* arr = (int*)malloc(n * sizeof(int)); // 动态分配n个int类型的空间
if (arr == NULL) {
printf("动态分配内存空间失败!");
return -1;
}
// 对arr进行操作,如赋值、排序、查找等
// 如果需要扩展数组大小,可以使用realloc()函数
int new_size = n + 10; // 新数组大小
int* new_arr = (int*)realloc(arr, new_size * sizeof(int));
if (new_arr == NULL) {
printf("扩展数组失败!");
free(arr); // 释放原数组空间
return -1;
} else {
arr = new_arr;
n = new_size;
}
// 对扩展后的arr进行操作
free(arr); // 释放空间
return 0;
}
```
需要注意的是,动态分配的内存空间在使用完毕后需要及时释放,以免造成内存泄漏。同时,需要注意动态分配的内存空间是否足够,如果不够需要使用`realloc()`函数扩展空间。
阅读全文