linux c 动态增加的指针数组
时间: 2023-07-20 21:38:58 浏览: 62
要动态增加指针数组,可以使用malloc函数来动态分配内存。下面是一段示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int** arr;
int size = 5; // 初始大小为5
// 分配初始空间
arr = (int**)malloc(size * sizeof(int*));
for (int i = 0; i < size; i++) {
arr[i] = (int*)malloc(sizeof(int));
*(arr[i]) = i;
}
// 增加空间
int newSize = 10;
arr = (int**)realloc(arr, newSize * sizeof(int*));
for (int i = size; i < newSize; i++) {
arr[i] = (int*)malloc(sizeof(int));
*(arr[i]) = i;
}
// 打印数组
for (int i = 0; i < newSize; i++) {
printf("%d ", *(arr[i]));
}
// 释放内存
for (int i = 0; i < newSize; i++) {
free(arr[i]);
}
free(arr);
return 0;
}
```
在这段代码中,我们首先分配了一个大小为5的指针数组arr,并为其中的每个指针分配了一个int类型的空间。然后,我们使用realloc函数将数组的大小增加到10,并为新增加的5个指针分配了int类型的空间。最后,我们打印了整个数组,并释放了分配的内存。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)