A-A+
有以下定义和语句 则sizeof(a) 的值是【 】 而sizeof(a.share)的值是
问题详情
有以下定义和语句,则sizeof(a) 的值是【 】,而sizeof(a.share)的值是【 】。 struct datc { 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。