相比之下,a是正确的。
a、
如果p是指针,那么*p就是指针所指向的地址的值,而&*p就表达指针p所指向的地址的值的地址,也就是和p等介了。而&p则表示的是指针变量p本身的地址,因此*&p的结果就是指指针变量p的地址的值,也就是p了,因此&*p与*&p是等价的,都是指的同一个地址。注意:指针本来也是个变量,因此指针也是有地址的。而指针运算符的作用就是求出指指所指地址里的值。
b、
对于变量的地址而言,在计算机中都是以二进制表示的。因此这个答案是错的
c、
对于变量的地址的地址每次运行会不会一样就不好说了,因此全局变量的地址,不一定每次运行都会不一样,那要看编译器或者计算机。
d、
因为题目并没有对thing的形式做什么表示,因此,我们可以假设thing为&i而i为int型,那么*&(&i)是错误的,因为对变量i的地址,再求地址是没有的结果。
e、
不存在全局变量和局部变量地址的大小问题,这个是编译器随机分配的,没法确认谁的地址大谁的地址小。因此错误。
e