2019-04-05 【OK】C初阶7:联合体

  1. 语法
union 联合体类型名 {
    成员
};

用法与struct一样。不同点是所有成员公用相同的内存空间。联合体的sizeof是成员中大小最大的值。

联合体是成员共用内存空间。

例如:

union Test{
    int n;
    double b;
};

printf("%ld\n",sizeof(union Test));

  1. 示例
    按从低到高的顺序打印出int类型每个字节的对应的数值(十六进制)。
union IntByte{
  int n;
  char c[sizeof(int)];
};
union IntByte b;
b.n = 1234;
int i;
printf("%08X\n",b.n);
for(i=0;i<sizeof(int);++i){
  printf("%02hhX",b.c[i]);
}
printf("\n");

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 语法 用法与struct一样。不同点是所有成员公用相同的内存空间。联合体的sizeof是成员中大小最大的值。 联合...
    jdzhangxin阅读 400评论 0 0
  • 结构体 在C语言中,可以使用结构体(Struct)来存放一组不同类型的数据。结构体的定义形式为: 结构体是一种集合...
    Xiho丶阅读 1,064评论 0 2
  • GNU C的一大特色就是__attribute__机制。__attribute__可以设置函数属性(Functio...
    闭家锁阅读 17,370评论 0 5
  • 1. 基础知识 1.1、 基本概念、 功能 冯诺伊曼体系结构1、计算机处理的数据和指令一律用二进制数表示2、顺序执...
    yunpiao阅读 5,507评论 1 22
  • 二一班期末考试成绩出来了: 我家小朋友语文98分,数学96分。全班并列第8名。如果不算并列排最后,在全班占...
    自由小宇宙阅读 747评论 1 0