联合体Union

1.对比于结构体:

结构体struct 多个成员 每个成员都有自己的一块空间

联合体union 多个成员 所有成员会共用同一块空间

2.特点:

节省空间

3.求联合体的大小

联合体的大小是最大对齐数的整数倍,并且>=最大成员数

最大成员数是什么?

最大成员数:如果是 char i[5]; 则最大成员数是5

short a[3]; 则最大成员数是6

至于最大对齐数是什么,《结构体详解》那篇文章里面有讲过。

代码:

4.写一个代码用于判断是大端还是小端?

常规做法(1):

常规做法(2): 另一种写法

使用联合体来写这个代码(用到了联合体的多个成员会共用同一块空间这个特点):

代码写法:

相关推荐
无限进步_1 小时前
【C语言】队列(Queue)数据结构的实现与分析
c语言·开发语言·数据结构·c++·算法·链表·visual studio
superman超哥1 小时前
仓颉语言中网络套接字封装的深度剖析与工程实践
c语言·开发语言·c++·python·仓颉
彭世瑜2 小时前
C/C++:libfort用于在终端输出表格
c语言·开发语言·c++
superman超哥2 小时前
仓颉语言中原子操作的封装深度剖析与无锁编程实践
c语言·开发语言·后端·python·仓颉
历程里程碑3 小时前
C++ 16:C++11新特化
c语言·开发语言·数据结构·c++·经验分享
才鲸嵌入式3 小时前
香山CPU(国产开源)的 SoC SDK底层程序编写,以及其它开源SoC芯片介绍
c语言·单片机·嵌入式·arm·cpu·verilog·fpga
Herbert_hwt4 小时前
C语言文件操作完全指南:从基础读写到错误处理详解
c语言
差点GDP4 小时前
C语言常用编译命令和示例
c语言·开发语言
保护我方头发丶4 小时前
ESP功能介绍
c语言·嵌入式硬件
宵时待雨4 小时前
C语言笔记归纳21:编译与链接
linux·c语言·开发语言·笔记