int main()
{
int a = 10;
int *p1 = &a;int **p2 = NULL;
p2=&p1;
p2 = &p1;//二级指针指向一级指针的地址
printf("a-------%d\n", a);
printf("&a------%d\n", &a);//变量i的地址
printf("p1----- %d\n", p1);//p1的值就是常量i的地址
printf("&p1----- %d\n", &p1);//&p1是一级指针的地址
printf("&p2----- %d\n", &p2);//&p2是二级指针本身的地址
printf("p2----- %d\n", p2);//p2的值是一级指针本身的地址
printf("*p2----- %d\n", *p2);//*p2是一级指针p1的值,也就是p1指向的i的地址
printf("**p2----- %d\n", **p2);//就是p1的指向的地址的值
return 0;
}
//总结分清楚‘*’和‘&’的区别
//‘*’是取指向地址处的值,‘&’是取变量本身的地址