目录
1、什么是联合体
联合体是一种特殊的自定义类型,联合体中的成员可以共用一部分内存,所以也叫做共用体
联合体的声明和定义如下:
//联合类型的声明
union Un
{
char c;
int i;
};
//联合变量的定义
union Un un;

2、联合体的特点
联合的成员是共用同一块内存空间的,这样一个联合变量的大小,至少是最大成员的大小(因为联 合至少得有能力保存最大的那个成员)。
以上面的为例,整型变量 i 和 字符型变量 c 共用一个字节,此时联合体的大小就是变量 i 的大小。
3、联合体大小的计算
联合体大小的计算需要满足如下两个条件:
- 联合的大小至少是最大成员的大小。
- 联合体大小必须是最大对齐数的整数倍。当最大成员大小不是最大对齐数的整数倍的时候,就要对齐到最大对齐数的整数倍。
#include <stdio.h>
union Un1
{ //每

本文详细介绍了C语言中的联合体(共用体)概念,阐述了其特点,即成员共享内存空间,并探讨了联合体大小计算的规则,包括至少为最大成员大小以及对齐约束。通过示例解释了如何根据最大对齐数和成员大小确定联合体的实际大小,帮助理解内存管理和数据结构在编程中的应用。
最低0.47元/天 解锁文章
8992

被折叠的 条评论
为什么被折叠?



