【C语言】union联合体

union和 struct  的区别

union 联合体占用内存的可复用的,变量之间内存共享,所以每次修改都会覆盖原来已有的变量。

struct占用的内存是固定的,不同变量之间不会相互影响。

union的优缺点

union  my_union{
    char a;
    double c;
    int b;
};

优点: 节约内存,可以适用于不同变量的场景需求,如:   构建可以存不同类型变量的链表。

            内存可以重复利用,如上图,my_union联合体占用的内存为里面变量中占用内存最大值,也就是double, 所以该联合体占用了8个字节的内存大小。

缺点: union每次切换不同变量的时候,都会进行覆盖重写操作,所以初学者使用容易出错造成数据丢失,所以在进行小项目开发的时候,对内存管理要求不大的情况下不是很推荐使用。

struct结构体

可以看我的博客,里面有一篇介绍了它的内存管理方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值