m0_74876821 2023-03-10 10:47 采纳率: 66.7%
浏览 21
已结题

共用体第二次赋值时赋值为零了,会出现什么情况?

img


以这个为例子,在对共用体第二次赋值时,那么共用体的值不就是零了吗,为啥打印i的值,会是13呢?

  • 写回答

3条回答 默认 最新

  • 少林and叔叔 2023-03-10 10:59
    关注

    不是赋值清零了,共用体共有两个元素i和a[2],其中i是一个int型,默认是占32位共四个字节的空间;a[2]的数组每个元素占用8位,一起占用2个字节的数据!
    现在a[0]=13,a[1]=0,对应i的值应该只有低八位有数据,其他都是零,因此十进制数也是13。
    希望你能理解,如有疑问可以私信!

    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    m0_74876821 2023-03-10 11:21

    可是共同体第二次赋值了之后就不是应该第一个值就没了吗,共用体不是最后一次存放的数据才有意义吗。

    回复
    m0_74876821 2023-03-10 11:25

    大神,能再解答一下吗?共用体不是只保存最后一次的值吗?

    回复
    少林and叔叔 回复 m0_74876821 2023-03-10 11:31

    你定义的共同体,是整个数组与整形的变量共用地址,但数组内的元素不共用地址的!

    回复
查看更多回答(2条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 3月17日
  • 已采纳回答 3月10日
  • 创建了问题 3月10日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部