如何指定指针数组分配的空间
时间: 2023-07-20 14:36:45 浏览: 55
要为指针数组分配内存空间,你需要先确定数组的大小,然后使用动态内存分配函数为每个指针分配空间。
例如,以下代码使用calloc函数为一个包含3个指向整数的指针的数组分配了内存空间:
```
int **ptr_array;
int array_size = 3;
ptr_array = (int**) calloc(array_size, sizeof(int*));
if (ptr_array != NULL) {
for (int i = 0; i < array_size; i++) {
ptr_array[i] = (int*) malloc(sizeof(int));
}
}
```
在这里,首先我们定义了一个指向指针的指针(即指针数组)ptr_array,然后使用calloc函数为ptr_array中的每个指针分配了4字节的空间。接下来,我们使用一个for循环遍历ptr_array中的每个指针,并使用malloc函数为每个指针分配了4字节的空间(即每个指针指向一个整数)。如果calloc函数返回的指针不为空(即分配内存成功),则分配空间的操作将成功执行。
当你使用完这些空间后,你需要先使用free函数释放每个指针分配的空间,然后再使用free函数释放指针数组ptr_array分配的空间,例如:
```
for (int i = 0; i < array_size; i++) {
free(ptr_array[i]);
}
free(ptr_array);
```
这里,我们先使用一个for循环遍历ptr_array中的每个指针,使用free函数释放它们分配的空间,然后使用free函数释放指针数组ptr_array分配的空间。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)