目录
前言
一:联合体(共用体)union
1.联合体类型的声明
2.联合体的特点
3.联合体大小的计算
4.联合体判断机器的大小端
二:枚举enum
1.概念
2.枚举的优点
3.枚举的使用
接下来的日子会顺顺利利,万事胜意,生活明朗-----------林辞忧
前言
在C语言中有内置类型和自定义类型之别,如char int,long,double 等等都是内置类型,而还有由struct,union,enum定义的自定义类型,接下来将介绍联合体union,和枚举类型enum
一:联合体(共用体)union
1.联合体类型的声明
1.像结构体一样,联合体也是由一个或者多个成员组成的,这些成员可以是不同的类型,但是编译器只为最大的成员分配足够的内存空间
2.联合体的特点是所有成员共用一块内存空间
3.给联合体中的一个成员赋值,其他成员也随之发生变化
#include <stdio.h>
union u
{
int n;
char c;
};
int main()
{
union u a;
printf("%zd",sizeof(union u));
}
会发现联合体的大小结果为4
2.联合体的特点
从此可以看出,联合体的成员变量是共用一块内存单元的,修改一个成员变量,其他成员变量也会被修改
内存上的改变为
3.联合体大小的计算
1.联合的大小至少是最大成员的大小
2.当最大成员大小不是最大对齐数的整数倍时,就要对齐到最大对齐数的整数倍
4.联合体判断机器的大小端
二:枚举enum
1.概念
枚举就是一一列举,将可能的结果一一列举,如星期,颜色等
其中enum color,enumweek称为枚举类型,其中的成员称为枚举常量
这些常量也是有值的,默认是从0开始,依次往下递增,但也可以赋初始值
enum color
{
Blue,
Red=5,
Yellow=8
}
2.枚举的优点
相对于枚举,我们还可以使用#define定义宏来实现枚举的功能,那么枚举相较宏的优点有
3.枚举的使用
enum color
{
Red,
Blue,
Yellow
};
enum color cl=Red;//可以定义枚举变量并赋初始值