首页 > 代码库 > 指针(指向指针的指针):

指针(指向指针的指针):

关于C++指针的基本理解。

 1 #include <stdio.h>
 2 
 3 int main() {
 4     int a = 4;
 5     int *p;
 6     p = &a;
 7     int **q;  //声明一个指针,指向我们已经有的指针p
 8     q=&p;     //从内存上来想,指针变量p也是保存在内存里的,
 9               //所以它的地址也应该是可以通过&p获得到的
10     printf("p in %p, q = %p\n",&p,q);       //输出指针变量p在内存中的值,输出指针变量q的值
11     printf("a in %p, p = %p, *q = %p\n",&a, p, *q);//输出变量a的地址,指针变量p的值,*q取出的值
12     printf("a = %d, *p = %d, **q = %d\n",a,*p,**q);//输出整型变量a的值,p所存的地址内的值,q所存的地址内的值
13     return 0;
14 }

输出结果:

p in 0x7ffe39988ee8, q = 0x7ffe39988ee8                                    
a in 0x7ffe39988ee4, p = 0x7ffe39988ee4, *q = 0x7ffe39988ee4               
a = 4, *p = 4, **q = 4

指针(指向指针的指针):