目录
📌————本章重点————📌
✨————————————✨
枚举
什么是枚举:
枚举就是以某种有穷序列一一列举出一些成员,例如:一周七天可以一一列举出来等等;
枚举类型的定义:
枚举是一种类型,其定义形式如下:
enum Day
{
Monday = 1,
Tuesday = 2,
Wednesday = 4,
Thurday,
Friday,
Staturday,
Sunday
};
int main()
{
enum Day day_1 = Monday;
return 0;
}
特点:
- {}内成员叫做枚举常量;
- 每个常量之间需要用逗号,最后一个除外;
- 每个常量都有取值,默认从0开始,每次递增1;
- 变量的取值也可以修改:
枚举的优点:
- 增加代码的可读性和可维护性;
- 和#define定义的标识符比较枚举有类型检查,更加严谨;
- 便于调试;
- 使用方便,一次可以定义多个常量;
联合体
联合体也叫共用体;
在进行某些算法的时候,需要使几种不同类型的变量存放到同一段内存单元中,也可以通俗的理解为(合租)。
联合体的定义和声明:
#include<stdio.h>
//声明
union Un
{
int a;
char b;
};
int main()
{
//定义一个联合体变量
union Un s;
printf("%zd\n", sizeof(s));
printf("%p\n", &s);
printf("%p\n", &s.a);
printf("%p\n", &s.b);
return 0;
}
联合体的特点:
- 所有成员共用一块空间;
- 联合体的大小至少是最大成员的大小;
- 在调用成员变量的时候不能同时用,否则就不能共用一块空间;
- 改变一个成员的内容,其他成员也会被改变;
联合体的大小:
- 联合体大小也要遵循结构体中的“对齐”;
- 大小至少是最大成员的大小;
示例:
为什么大小为8个字节?