关于联合体的问题、、、?

发布网友 发布时间:2024-10-23 05:35

我来回答

1个回答

热心网友 时间:2024-11-03 16:17

因为union里的三个变量共用一块内存,内存的大小为这三个变量类型所占的最大值,因此这里x的大小即sizeof(float),后面的对b、c的赋值实际上覆盖了原有的a的赋值,因为char只占了1位,而float、int占4位(在我的电脑上),所以a的值完全被更改,b的值在内存里只改了最后一位,考虑到浮点数的存储和显示方式没有显现出来,所以b的值看上去不变而已,c的值正好是最后赋给它的值。如果你把那三个赋值语句随意更改顺序,结果都是不一样的~
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com