首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >C语言共用体成员输出的值与赋值时的不同的原因

C语言共用体成员输出的值与赋值时的不同的原因

原创
作者头像
用户9470376
修改2023-12-31 08:12:03
修改2023-12-31 08:12:03
42800
代码可运行
举报
运行总次数:0
代码可运行

共用体成员输出的值与赋值时的不同的原因

在使用C语言的共用体时,如果成员输出的值与之前定义共用体变量的时候所赋值的不同,那么很可能是因为定义共用体变量的时候,为共用体的多个成员赋值造成的。因为共用体虽然允许在同一个内存位置上存储不同的数据类型的变量,但是任何时候都只能有一个成员存储值,也就是说,当共用体内的某一个成员被赋值了,那么其它成员之前所赋的值就会丢失或损坏,这就是造成共用体成员输出的值与赋值时不同的原因了。

解决方法

分开为C语言共用体的成员赋值,即什么时候使用就什么时候赋值,确切来说,要使用一个新的共用体的成员时,就应该为其赋值。

实例

代码语言:c
代码运行次数:0
运行
复制
#include <stdio.h>
#include <string.h>
union office_worker{
    int id;
    int salary;
};


int main() {
    union office_worker c;
    c.id = 2;
    printf("%d\n",c.id);
    c.salary = 8000;
    printf("%d\n",c.salary);

}

原文:C语言共用体成员输出的值与赋值时的不同的解决方法https://www.x1y1z1.com/c/cunionprintf.html

免责声明:内容仅供参考,不保证正确性!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 共用体成员输出的值与赋值时的不同的原因
    • 解决方法
    • 实例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档