引用小问题,何解?

wokuang 2005-06-16 12:50:24
int a[]={2,3,4,4};
为何sizeof(a)与sizeof(&a)都等于8(tc下)?
a已是一维数组首地址,&a何解?
...全文
93 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zeeeitch 2005-06-16
  • 打赏
  • 举报
回复
sizeof(&a);
mingw输出4 vc7 输出16 (32位环境)
我想这个是否标准没规定.
tfq 2005-06-16
  • 打赏
  • 举报
回复
up,困惑
wokuang 2005-06-16
  • 打赏
  • 举报
回复
tc是16位编译器,输出8,vc6是32位,所以是16,实在不解与sizeof(&a)
whatsouta 2005-06-16
  • 打赏
  • 举报
回复
用BCB6, VC6都输出
16 16
风兮疯兮 2005-06-16
  • 打赏
  • 举报
回复
我同意“一刀”的看法,不过我的结果和你的相同!
wokuang 2005-06-16
  • 打赏
  • 举报
回复
16位编译器,指针大小哪来的8?
sunman1982 2005-06-16
  • 打赏
  • 举报
回复
sizeof(a)、、这个应该是4个int 的大小 也就是16
sizeof(&a)//这个应该是4.
lw1a2 2005-06-16
  • 打赏
  • 举报
回复
sizeof(a):整个数组a的大小(比较奇怪的是你的结果)
sizeof(&a):指针的大小(与类型无关)
copygirl 2005-06-16
  • 打赏
  • 举报
回复
a是指向a[0]的指针,指针的长度为8;
存储指针地址的空间大小也是8,a的地址存放在&a里。

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧