union data { int i; char ch; double f; }x; (A) 7 (B) 11 (C)8 (D) 10

为什么选择C8 而不是B 11 ?
2024-11-15 23:03:14
推荐回答(2个)
回答1:

是问此类型占内存大小吗?
union是联合类型,不同于struct,它在特定的时间点只使用其内部的一个成员,其它成员都没有用,因此其大小只要取其所有成员中占内存最大的那个就行了。此题中最大的是double f;占8字节,因此整个union data也占8字节

回答2:

表示题目没给全,请重发一遍题目