终于感觉能把指针搞懂了,请大家看看,我这么理解对不?
int main() {
int x = 12; //声明并初始化x
int *p = NULL; //声明一个一级指针p
int **ptr = NULL; //声明一个二级指针ptr
p = &x; //p指向x
ptr = &p; //ptr指向p
printf("x is %d \n", x); //x的值
printf("&x is %x \n", &x); //x的地址
printf("p is %x \n", p); //p存放的地址
printf("*p is %d \n", *p); //读取p存放的地址的值
printf("ptr is %x \n", ptr); //ptr存放的地址
printf("*ptr is %x \n", *ptr); //ptr存放的地址的指针存放的地址
printf("**ptr is %d \n", **ptr); //读取ptr存放的地址的指针存放的地址的值
printf("&p is %x \n", &p); //一级指针p的地址
printf("&ptr is %x \n", &ptr); //二级指针ptr的地址
return 0;
}
想不动了,再想要秃了