Score这个联合体的size为什么是8个字节
来源:7-8 结构体的内存布局
嘤嘤鸣
2021-10-30
老师,
请问在Score这个联合体的size为什么是8个字节?按理说score里有一个double型占8个字节,一个char占一个字节,那应该是总共占16个字节才对。但我看你的代码演示里确实占了8个字节,这个char的值写到了分配给double值的8个字节区域。那如果这个double值足够大,刚好占满8个字节呢,那char的值岂不是要被覆盖掉?
写回答
1回答
-
quickzhao
2021-10-30
注意,这里的Score是union,它的空间是共享的,以最大类型的尺寸为准。不会出现你说的覆盖,因为你只会在一种目的上用它。比如你计分时或者按照字符类型计,或者按照浮点型计,不会同一时刻两种都用到。
022021-11-01
相似问题