本文算是作者对于二级指针学习的一些总结或者说是刨根问底,如果有表述错误,还请各位大神指正。
我们首先定义一个整型a,令a = 5,再分别定义指针p和二级指针ptr

int a = 5;
int *p = &a;
int **ptr = &p;

我们不妨假设a的地址是0x01、p内存的地址是0x02、ptr所占内存地址是0x03。
那么我们可以得到下面的结论:
1.1、&a = 0x01;
1.2、*a = 5;
2.1、p = &a = 0x01;
2.2、*p = a = 5;
2.3、&p = 0x02;
3.1、ptr = &p = 0x02;
3.2、*ptr = p = &a = 0x01;
3.3、&(*ptr) = 0x02 = ptr = &p
3.4、**ptr = *p = a = 5;
3.5、&ptr = 0x03;

本站无任何商业行为
个人在线分享 » C++二级指针的指向与解引用
E-->