观察如下代码片段:

union U{
 bool flag1, flag2, flag3, flag4, flag5;
 signed short a;
 unsigned short b;
 enum E{
 CardA = 0, CardB = 1,
 CardC = 2, CardD = 142857
 } e;
} u;

其中, sizeof(u) 的值为( )。 A. 4 B. 8 C. 13 D. 16

答案:D. 16

解析:

Union 结构体的大小由其最大成员的大小决定。在本例中,unsigned short b 的大小为 2 字节,因此 sizeof(u) 的值为 16 字节

C语言 Union大小计算:sizeof(u) 的值是多少?

原文地址: https://www.cveoy.top/t/topic/qjM1 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录