1、指向指针的指针
指向指针的指针,从字面上理解,就是一个指针存放另一个指针的内存地址
2、案例
2.1、代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| #include<stdio.h> int main() { // 整形变量 a int a = 10; // 存放整形的指针变量 int *p; // 存放整形指针的指针变量 int **q;
// 指针p指向变量a的内存地址 p = &a; printf("=============打印变量a的内存地址===============\n"); printf("&a=%p\n",&a); printf("p=%p\n",p);
// 指针q指向指针变量p的内存地址 printf("=============打印指针变量p的内存地址===========\n"); q = &p; printf("&p=%p\n",&p); printf("q=%p\n",q); printf("=============打印变量a值的几种方式=============\n"); printf("a=%d\n",a); printf("*p=%d\n",*p); printf("**q=%d\n",**q); return 0; }
|
2.2、运行结果

1.3、执行过程的内存分布

3、总结
- 在操作指针时,如*p 则是代表获取对应内存地址的内容
- 使用指向指针的指针,虽然也可以修改变量的地址,但从上面的内存分布来看,它加大了理解难度,应尽量少用