枚举:
枚举顾名思义就是一一列举
把可能的值一一列举
比如我们生活中:
一周的星期一到星期日是有限的7天,可以一一列举
性别有男,女,保密,也可以一一列举
月份有12个月也可以一一列举
这里我们就可以使用枚举了。
那么我们怎么使用枚举呢?我们拿颜色举列子:
enum为枚举的关键字,Color为名称,{}里为枚举常量(是可以修改值的)。
我们运行发现,枚举常量的大小默认为从0开始。
枚举的优点:
1、增加代码的可读性和可维护性
2、和#define定义的标识符相比枚举有类型检查,更加的严谨
3、防止了命名污染(封装)
4、便于调试
5、使用方便,一次可以定义多个常量
联合体:
联合体定义的变量包含一系列的成员,特征是这些成员公用同一块空间(所以联合体也称为共用体)。
我们定义一个联合体,我们发现联合体和里面的成员c和i存放的地址相同,同时联合体的大小为4,这和我们前面的结构体出入很大,那么我们来分析分析联合体的储存规则。
其实联合体也是有对齐规则的。
联合体大小至少是最大成员的大小。
当最大成员大小不是最大对齐数的整数倍时,就要对齐到最大对齐数的整数倍。