您现在的位置是:主页 > news > 中小企业网站制作价格/东莞网络优化哪家公司好

中小企业网站制作价格/东莞网络优化哪家公司好

admin2025/5/11 2:08:43news

简介中小企业网站制作价格,东莞网络优化哪家公司好,广州品牌网站建设,北京网站建设91086C语言共用体,又叫联合体,使用关键字union定义。共用体使用同一存储单元存放不同类型的变量。 定义共用体类型变量 基本形式格式: union 共用体名{成员表列; } 变量表列;具体有四种方式 : 1、定义共用体…

中小企业网站制作价格,东莞网络优化哪家公司好,广州品牌网站建设,北京网站建设91086C语言共用体,又叫联合体,使用关键字union定义。共用体使用同一存储单元存放不同类型的变量。 定义共用体类型变量 基本形式格式: union 共用体名{成员表列; } 变量表列;具体有四种方式 : 1、定义共用体…

C语言共用体,又叫联合体,使用关键字union定义。共用体使用同一存储单元存放不同类型的变量。

定义共用体类型变量

基本形式格式:

union 共用体名{成员表列;
}  变量表列;

具体有四种方式 :

  • 1、定义共用体的同时定义变量:
union MyData{int type;char str;
}data;
  • 2、先定义共用体,后再定义变量:
union MyData{int type;char str;
};
union MyData data;
  • 3、先定义共用体,再定义共用体别名,再用别名定义变量:
typedef union MyData{int type;char str;
} Data;
Data data;
  • 4、匿名共用体,只使用一次
union {int type;char str;
} data;

初始化成员列表,只能初始化一个

  • 1、定义共用体的同时定义变量,并进行初始化变量:
union MyData{int type;char str;
}data = {55};
  • 2、先定义共用体,再定义变量,并初始化变量:
union MyData{int type;char str;
};
union MyData data = {13};
  • 3、先定义共用体,再定义共用体别名,再用别名定义变量,并初始化变量:
typedef union{int type;char str;
}Data;
Data data = {88};
  • 4、匿名共用体,只使用一次,初始化变量:
union{int type;char str;
}data = {9};

访问共用体变量

data.type = 22;
或
data.str = 'C';

完整例子

#include <stdio.h>
union {int type;char str;
} data;
int main(int argc,char* argv){data.type = 22;printf("type:%d\n",data.type);printf("type 大小(单位:byte):%ld\n",sizeof(data.type));data.str = 'B';printf("str:%c\n",data.str);printf("str大小(单位:byte):%ld\n",sizeof(data.str));return 0;
}

运行结果:

~/Desktop/c$ gcc main.c -o main
~/Desktop/c$ ./main
type:22
type 大小(单位:byte):4
str:B
str大小(单位:byte):1

共用体总结

  • 共用体起作用的成员是最后一次赋值的成员,之前的会被取代;
  • 共用体变量的地址和它各成员的地址都是同一个地址,同用一个存储单元
  • 不能对共用体整体赋值
  • 初始化成员列表,只能初始化一个
  • 同种类型的共用体变量可以互相赋值
  • 共用体也可以和指针,数组之类的搭配

谢谢阅读。