数组和&数组的区别

int a[]={};

a 和 &a 有什么区别?

下面的代码显示出了明显的区别

 1 int main(void)
2 {
3 char text[] = "hello!";
4
5 printf("%d \n",(int)sizeof(text));
6 printf("%p \n%p \n",text,&text);
7 printf("%p \n%p \n",text+1,&text+1);
8
9 return 0;
10 }

打印出的内容:

7
0x7fffb5c88ed0
0x7fffb5c88ed0
0x7fffb5c88ed1
0x7fffb5c88ed7

结论: a 返回的是数组中第一个元素的地址,&a返回数组的地址

posted on 2011-11-23 18:00  I'm legend  阅读(649)  评论(0编辑  收藏  举报