C语言共用体union使用方法的相关说明

本文介绍了C语言中共用体union的使用方法,与结构体struct的区别。通过示例展示了共用体如何使得成员共享同一块内存,导致对一个成员的修改会影响到其他成员的值。这在内存有限的环境中或者特定的编程场景下具有重要意义。
摘要由CSDN通过智能技术生成

C语言共用体union使用方法的相关说明

共用体和结构体的结构特别类似,但是其与结构体的区别就是:共用体的成员共用一块内存,结构体的成员不共用一块内存。举例说明:

// 结构体
    struct{
        int num;  //学号
        int age;  //年龄
    } stu1;
    stu1.num = 1;
    stu1.age = 2;
    printf("stu1.num的值为%d,stu1.age的值为%d",stu1.num,stu1.age);
//共用体
    union{
        int num;  //学号
        int age;  //年龄
    } stu2;
    stu2.num = 1;
    stu2.age= 2;
    printf("stu2.num的值为%d,stu2.age的值为%d",stu2.num,stu2.age);

最终得到的结果为“stu1.num的值为1,stu1.age的值为2”,“stu2.num的值为2,stu2.age的值为2”。因为stu1的num和age不共用内存,所以可以分开赋值,但是stu2的num和age共用内存,所以当给age赋值时同时也会给num赋值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值