当前位置: 代码迷 >> C语言 >> 关于数组以及"&"符号
  详细解决方案

关于数组以及"&"符号

热度:533   发布时间:2008-06-09 23:27:29.0
/*****************************************************************
** HighlightCodeV3.0 software by yzfy(雨中飞燕) http://yzfy.org **
*****************************************************************/
#include <stdio.h>
int main()
{
   
const char* s="%d %d %d\n";
    int a[4];
    int m=(int)((&a)+1), n=(int)((a)+1);
    printf(s, (&a)+1, (a)+1, m-n);
    return 0;
}

运行这个

[color=white]
----------------解决方案--------------------------------------------------------
燕子你的头像换了。。这个小女孩是谁啊?呵呵
----------------解决方案--------------------------------------------------------
就是她自己吧  挺可爱的
----------------解决方案--------------------------------------------------------
回复 10# sunkaidong 的帖子
就是数组a的地址,通常用他的首地址表示!
----------------解决方案--------------------------------------------------------
有点迷惑 百度一下
a表示数组第一个元素的地址。&a表示数组a的指针,所以,a代表一个整型变量的地址,&a表示数组a的地址,也就&a是一个数组的指针(常指针),所以a与&a类型不同。
----------------解决方案--------------------------------------------------------
这个不难理解,也不用抓住不放?呵呵,其实燕子是要说,&a与a的区别是在层次不一样。。前者是在数组层次,每加一,移动的数组长度;后者就是int地址,加一移动一个int长度;燕子是这个意思吗?呵呵,或者我表述有错误?大概就是这个意思了

[[it] 本帖最后由 sunkaidong 于 2008-6-10 13:05 编辑 [/it]]
----------------解决方案--------------------------------------------------------
&a[i]
----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------
个人感觉好像&a是行指针,而a是列指针
不知道对不对
----------------解决方案--------------------------------------------------------
以前我也以为int a[]中的a跟&a完全一样,
但后来发现,不一样。
&a代表整个数组
对&a+1就相当于跨过整个数组,而不是一个元素
----------------解决方案--------------------------------------------------------
  相关解决方案