当前位置: 代码迷 >> C语言 >> [求助]新手问C语言问题
  详细解决方案

[求助]新手问C语言问题

热度:307   发布时间:2006-09-04 18:50:23.0
[求助]新手问C语言问题
2.下面程序的输出结果是什么?
union un
{int a[4];
long b;
char c[6];}
main()
{
union un u;
printf("%d%d",sizeof(u),sizeof(u,a));
}
最后输出的结果是88, 为什么啊 高手帮忙解释下 谢谢了

谢谢帮忙啊 :)
搜索更多相关的解决方案: C语言  

----------------解决方案--------------------------------------------------------
sizeof(u),是求u这个联合的长度,也就是最长的那个元素的长度,也就是a[4]的长度,
一个int类型是2字节,4个就是8字节,
sizeof(u.a)是直接求a[4]的长度,也是8
----------------解决方案--------------------------------------------------------

掌握结构体(空间相加)和共用体(取最大值)
int a[4]--->2B*4=8B
long b--->4B*1=4B
char c[6]--->1B*6=6B


----------------解决方案--------------------------------------------------------
谢谢两位了  嘿嘿  搞明白了  HOHO
----------------解决方案--------------------------------------------------------
  相关解决方案