A-A+
给定C语言的数据结构 struct T{ int w; union T{char c; in
问题详情
给定C语言的数据结构 struct T{ int w; union T{char c; int I; double d; )U; }; 假设char类型变量的存储区大小是1字节,int类型变量的存储区大小是4字节, double类型变量的存储区大小是8字节,则在不考虑字对齐方式的情况下,为存储一个 struct T类型变量所需要的存储区域至少应为(12)字节。
A.4
B.8
C.12
D.17请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:C
解析:unionT定义T为一个共用体,它所占用的存储空间的大小是它所包含的元素中占用存储空间最多的那个,即d的存储空间8字节,intw要占用存储空间4字节,所以存储一个structT类型变量所需要的存储区域至少应为4+8=12字节。