看一下这个有关指针的题为什么是这样的

img


B选项我理解是因为p1=a,但是A和D是真的不理解呀,难道不是a=2,p1=2,*p2=2吗,为什么A和D还可以正确执行



*指针取值的优先级是高的,所以A是 取 p1和p2里面存的值算
D,是p1的值乘以p2的值,这个比较明了

A选择 是解引用p1跟p2 也就是a=2+2 所以A没错
C是把指针p2的地址放在p1里面 也是对的
D是先算解引用p1值为2 再算解引用p2值也为2 最后再相乘
而B是把a的值放在一个指针里面,明显不行,应该把地址放在指针里面,这个变量就称为指针变量,指针解引用*p1就能找到a的地址里面的值,