int a = 3;
int b;
int * p = NULL;
p = &a;
b = *p;
首先要了解一个东西,指针里面存放的是地址。
假设我们上面申明了一个变量a,a的初始值为3,int* p的 int* 是申明一个指向整型的指针P。申明的时候指针指向不知道,所以指向空。然后让指针P指向a,也就是将a的地址存放到P里面。也就是p = &a; 然后我们要怎么获取指针所指向的地址里面的值,也就是&a里面的值呢。就是用到指针的运算符*p。这个运算符就是将指针所存放的地址里面所存放的值获取到。这个地方有点绕,需要自己多理解一下。,像上面所写的一样。*p就将p指针里面所存放的地址(&a)里面的值(3)获取到了。
因此就有了 p = &a;获取到变量a的地址。 b = *p;(*p 的值就是a变量里面存放的值3),打印b的值就是3。
追问我说的为什么互为逆运算,你说的这是区别