A-A+
有以下定义语句 则sizeof(a)的值是【 】 而sizeof(a.share)的值是【
问题详情
有以下定义语句,则sizeof(a)的值是【 】,而sizeof(a.share)的值是【 】。 struct date { int day; int mouth; int year, union { int share1; float share2; }share; }a;
请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:104
结构体变量所占内存长度是各成员占的内存长度之和。每个成员分别占有其自己的内存单元。int占2个字节,float占4个字节,共用体变量所占的内存长度等于最长的成员的长度。所以,sizeof(a.share)的值是4,sizeof(a)的值是2+2+2+4-10。