C语言定义不限制长度的数组
时间: 2023-09-18 16:10:23 浏览: 405
C++实现不定长数组
在C语言中,可以使用动态内存分配函数malloc来动态地分配数组的内存空间,从而实现不限制长度的数组。例如,下面的代码可以动态地分配一个长度不限的整型数组:
```c
int* arr;
int size = 10; // 初始分配10个元素的空间
arr = (int*)malloc(size * sizeof(int));
```
在这里,使用malloc函数分配了10个int类型的空间,如果需要更多的空间,可以使用realloc函数来重新分配更大的空间。例如,下面的代码将数组的空间扩大到20个元素:
```c
int new_size = 20;
arr = (int*)realloc(arr, new_size * sizeof(int));
```
需要注意的是,使用完动态分配的内存空间后,需要使用free函数来释放内存,避免内存泄漏的问题。例如,下面的代码释放了之前分配的内存空间:
```c
free(arr);
```
阅读全文