联合体Union

1.对比于结构体:

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

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

2.特点:

节省空间

3.求联合体的大小

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

最大成员数是什么?

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

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

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

代码:

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

常规做法(1):

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

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

代码写法:

相关推荐
zhongvv42 分钟前
对单片机C语言指针的一些理解
c语言·数据结构·单片机·指针·汇编语言
朔北之忘 Clancy2 小时前
2025 年 9 月青少年软编等考 C 语言一级真题解析
c语言·开发语言·c++·学习·数学·青少年编程·题解
你怎么知道我是队长2 小时前
C语言---缓冲区
c语言·开发语言
不爱吃糖的程序媛4 小时前
OpenHarmony 通用C/C++三方库 标准化鸿蒙化适配
c语言·c++·harmonyos
朔北之忘 Clancy5 小时前
2020 年 6 月青少年软编等考 C 语言二级真题解析
c语言·开发语言·c++·学习·青少年编程·题解·尺取法
HABuo5 小时前
【Linux进程(五)】进程地址空间深入剖析-->虚拟地址、物理地址、逻辑地址的区分
linux·运维·服务器·c语言·c++·后端·centos
AuroraWanderll6 小时前
类和对象(六)--友元、内部类与再次理解类和对象
c语言·数据结构·c++·算法·stl
无限进步_6 小时前
【C语言&数据结构】另一棵树的子树:递归思维的双重奏
c语言·开发语言·数据结构·c++·算法·github·visual studio
不爱吃糖的程序媛6 小时前
OpenHarmony跨端生态适配全指南|Flutter/RN/三方库/C/C++/仓颉 鸿蒙化最佳实践
c语言·c++·flutter
码农爱学习6 小时前
C语言结构体对齐是怎么计算
java·c语言·数据库