/*****************************************************************
** 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;
}
** 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就相当于跨过整个数组,而不是一个元素
----------------解决方案--------------------------------------------------------