指针的指针怎么用
时间: 2023-07-05 21:11:14 浏览: 108
指针的指针也称为二级指针或者指向指针的指针,它是指一个指针变量存储的是另一个指针变量的地址,也就是间接指向一个指针变量。在C语言中,指针的指针可以用来动态修改指针变量的值,或者动态分配内存等。
下面是一些指针的指针的用法示例:
1. 定义指向指针的指针
```c
int a = 10;
int *p = &a;
int **pp = &p; // 定义指向指针的指针
```
2. 通过指针的指针修改指针变量的值
```c
int a = 10;
int *p = &a;
int **pp = &p; // 定义指向指针的指针
*p = 20; // 通过指针修改变量的值
**pp = 30; // 通过指针的指针修改变量的值
printf("%d %d %d\n", a, *p, **pp); // 输出 a 的值
```
3. 动态分配内存并返回指针的指针
```c
int **get_array(int n, int m) {
int **a = (int **)calloc(n, sizeof(int *));
for (int i = 0; i < n; i++) {
a[i] = (int *)calloc(m, sizeof(int));
}
return a;
}
int main() {
int **a = get_array(3, 4); // 动态分配数组并返回指针的指针
free(a); // 释放内存
return 0;
}
```
需要注意的是,在使用指针的指针时,需要注意指针的层数,以及指针的类型匹配问题,避免出现类型不匹配的错误。