以下程序的输出结果是typedef union{long x[2] int y[4]; char z[8]; } MYTYPE;MYTYPEthem;main(
程序,
已帮助 人
以下程序的输出结果是 typedef union{long x[2] int y[4]; char z[8]; } MYTYPE; MYTYPE them; main() { printf("%d ",sizeof(them));}
A.32
B.16
C.8
D.24
请帮忙给出正确答案和分析,谢谢!
-
正确答案:C
解析:共用体所占存储空间的大小是所有成员所占存储单元的和;共用体变量所占存储单元的大小是所有成员中占据存储空间最大的成员所占存储空间的大小。本题中字符数组成员z占8个字节的长度,长度最长,所以共用体变量them用sizeof计算长度为8。
