发布网友 发布时间:2022-04-24 16:30
共1个回答
热心网友 时间:2023-10-22 18:08
联合体内,成员变量共享内存。
现在联合体内,有2个成员,一个是 y ( 需要4字节存放),另一个是结构体x,
x 正好需要 4 字节存放。所以这个联合体大小只 需要 4 字节内存 就够了。
(1个字节描述1个8位2进制数, 1 byte = 8 bits, 字节,是计算机内存 基本单位。)
主程序给 y 赋值 0x11223344 (16进制),正好放满4字节,4个字节内容 是 11,22,33,44。
结构体x 共享这4个字节里的内存。x.low 用了前2个字节, x.high 用了后2个字节,所以 x.low=0x1122,
x.high = 0x3344.
于是 num.x.low+num.x.high = 0x1122 + 0x3344 = 0x4466.