关键字联合体union的定义和使用

联合体的定义

联合体的定义和结构体相同。
联合体成员共用存储空间,联合体占用的空间=最大长度的数据成员的长度。

union State
{
   
 char sleep;
 char run;
 int suspend;
 double error;
}state_u;

以上例子,State表示联合体的名字,它相当于声明了一个联合体的模板,以后可以使用union+联合体名来声明一个联合体变量。state_u表示在创建联合体模板(State)的同时定义了一个联合体变量state_u。
例如:

union State s1,s2; //声明两个联合体变量s1和s2

此外还可以使用typedef重新定义联合体模板(类型)

//将联合体模板union data重新命名为stu_data,以后使用stu_data就可以直接定义联合体类型的变量。
typedef union data
{
   
   char* name;
   char age;
}stu_data;
//使用新名字stu_data创建两个变量stu_info1和stu_info2
stu_data stu_info1,stu_info2;

初始化联合体

方式1:

stu_data a;
a.name = "xiao";
stu_data b=a;  //把一个联合初始化为另一个同类型的联合

方式2

stu_data c={
   "ming"};  //直接赋值,会把第一个成员赋值给联合体,也就是说c表示 char* name

方式3

stu_data d={
   .age=23};  // 使用初始化器

相关推荐

  1. 关键字联合体union定义使用

    2024-01-13 01:14:04       29 阅读
  2. C、C++联合体union关键字含义

    2024-01-13 01:14:04       11 阅读
  3. C语言联合体Union)在实战中使用技巧

    2024-01-13 01:14:04       40 阅读
  4. 05-MySQL中limitunion关键字

    2024-01-13 01:14:04       33 阅读
  5. 联合体union

    2024-01-13 01:14:04       36 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-13 01:14:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-13 01:14:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-13 01:14:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-13 01:14:04       18 阅读

热门阅读

  1. 学习之路 会有很多失败

    2024-01-13 01:14:04       37 阅读
  2. git中常用的tag命令

    2024-01-13 01:14:04       27 阅读
  3. 微信小程序案例-03翻页时钟-3

    2024-01-13 01:14:04       41 阅读
  4. expdp时报错ORA-31693&ORA-02354&ORA-01555

    2024-01-13 01:14:04       33 阅读
  5. 【web安全】弱口令,以及不同领域的弱口令爆破

    2024-01-13 01:14:04       41 阅读
  6. autox.js嘎嘎牛p的悬浮窗模板

    2024-01-13 01:14:04       39 阅读
  7. 4 微信小程序

    2024-01-13 01:14:04       32 阅读
  8. 深入理解区间合并:让数字之间的故事更加有序

    2024-01-13 01:14:04       34 阅读