全部博文(15)
分类: C/C++
2008-07-24 14:51:27
相信大家对于int a[];中 a + 1 和 &a + 1之间的区别已经了解了。
但是,a和&a真的只有在+1时有区别么?答案是否。他们最主要的区别是类型不同。
a是一个数组名,它的值为数组首地址。
&a是变量a的地址,它的值与a相同。
但是,他们的类型不一样~,这也是他们俩本质的区别:
下面的程序输出的3个值是一样的:
就是说,谁然 a == &a
但是 *a != *(&a)
而是 *a == **(&a)
或者 *a == *(int *)(&a)
|