永发信息网

联合类型变量 的定义和使用~解释下为什么出这个结果 谢谢 -0-

答案:2  悬赏:30  手机版
解决时间 2021-04-03 20:34
  • 提问者网友:呐年旧曙光
  • 2021-04-03 03:48
联合类型变量 的定义和使用~解释下为什么出这个结果 谢谢 -0-
最佳答案
  • 五星知识达人网友:爱难随人意
  • 2021-04-03 05:02
联合体的成员是共享内存空间的,联合体的内存空间大小是联合体成员中对内存空间大小要求最大的空间大小,但是联合体最多只有一个成员有效。
这里要知道
1.数据类型 的意义 :
数据类型 = 数据结构 + 基本操作。
2.数据在内存中的表示
数据在内存中都是以二进制形式表示的,对于 数据的地址 当然也是一种数据类型了,也可以在内存中以二进制形式表示。
理解了以上两点,你就会知道联合体在内存中的表示了,因为只有一个成员A为合法,所以其他的成员的值会有些莫名其妙。当你对另一成员B赋值时,联合体的内存将会被覆盖,先前的那个合法的成员A的值也会变得莫名其妙,而这个成员B却是合法的了。
全部回答
  • 1楼网友:猎心人
  • 2021-04-03 05:17
联合 就是共享内存,
u1.iValue=33; 你设置了这个东东,其实就等于也设置了
pt中的X
你就想像是8个字节的结构就行了追答
追问:为啥 不太懂= =为啥不是 y 呢~
追答:X对应着 lValue
y 对应着fValue
追问:那 第三部分 pt 的 x =30 y=40iValue 变30了 为啥fValue 是 乱码顺便这个乱码是 什么意思呢~~谢谢
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯