二重指针如何使用malloc开辟空间
时间: 2023-11-27 07:59:39 浏览: 81
对malloc使用的一点新理解
二重指针可以使用malloc函数开辟空间,具体操作如下:
1. 定义一个指向指针的指针,如int **pp。
2. 使用malloc函数为指针pp动态分配空间,即pp = (int **)malloc(sizeof(int *))。
3. 再使用malloc函数为pp所指向的指针分配空间,即*pp = (int *)malloc(sizeof(int) * n),其中n为所需空间大小。
4. 可以通过pp来访问所分配的空间,如pp[0][0]表示所分配的空间的第一个元素。
5. 使用完空间后,记得要使用free函数释放空间,即free(*pp)和free(pp)。
示例代码如下:
```
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n = 5;
int **pp;
pp = (int **)malloc(sizeof(int *));
*pp = (int *)malloc(sizeof(int) * n);
for (int i = 0; i < n; i++)
{
(*pp)[i] = i;
}
for (int i = 0; i < n; i++)
{
printf("%d ", (*pp)[i]);
}
free(*pp);
free(pp);
return 0;
}
```
运行结果:
```
0 1 2 3 4
```
阅读全文