定义一个数组int a[10],然后打印a,和&a为什么一样,它们没有什么区别吗?
int a[10];
printf("%d, %d\n", a, &a);
也就是说它们两个的地址为什么是一样的呢?
因为定义
int (*p)[10];
p = &a; 这样才正确
问题点数:50、回复次数:4Top
1 楼cjianwen(空前)回复于 2006-03-06 08:25:56 得分 0
关注~~!顶~Top
2 楼ydfivy(我就是一送外卖的)回复于 2006-03-06 09:02:08 得分 15
数组名就是它的地址.
和函数一样.Top
3 楼alen_ghl(东方求*)回复于 2006-03-06 09:09:02 得分 20
a代表这个数组,它是一个指针,指向第一个元素
所以a和&(a+0) (第一个元素的地址) 的结果是一样的
即a 和 &a 等价
这里一定要记住,a是数组名,&a代表的不是取a这个变量的地址,而是取数组元素的地址Top
4 楼lzzqqq(Jonersen)回复于 2006-03-06 09:17:09 得分 15
a就是a[10]的地址,&a也是a[10]的地址,一样.Top




