#include <stdio.h>
int main() {
int p = 10;
int *ptr = &p;
int **ptr2 = &ptr;
printf("p = %d\n", p);//变量p的值
printf("&p = %d\n", &p);//变量p的地址
printf("ptr = %d\n", ptr);//ptr存储了p的地址
printf("&ptr = %d\n", &ptr);//ptr自身的地址
printf("*ptr = %d\n", *ptr);//ptr存储了p的地址,*ptr就是去p的地址取值
printf("ptr2 = %d\n", ptr2);//ptr2存储了ptr的地址
printf("&ptr2 = %d\n", &ptr2);ptr2自身的地址
printf("*ptr2 = %d\n", *ptr2);ptr2存储了ptr的地址,*ptr2就是去ptr的地址取值
printf("**ptr2 = %d\n", **ptr2);*ptr2取到的是p的地址,**ptr2就是去p的地址取值
getchar();
return 0;
}
运行结果:
p=:10
&p=: 0053FBA8
*ptr=: 10
ptr=: 0053FBA8
&ptr=: 0053FB9C
ptr2=: 0053FB9C
*ptr2=: 0053FBA8
&ptr2=: 0053FB90
**ptr2=: 10
如果错误或者不严谨之处,欢迎指出。