零.导言
枚举,顾名思义,就是一一列举。枚举类型的作用就是把可以一一列举的变量的取值列举出来。
一.枚举类型的声明
我们先来看下面这一段代码:
enum Sex
{
MALE,
FEMALE,
SECRET
};
显而易见的上述代码定义了一个枚举类型Sex。这个枚举类型有三种可能的取值,分别是:MALE,FEMALE,SECRET。显然,性别的类型只能是男,女,保密这三种类型。使用枚举类型可以使变量的值更加有可读性。
在形式上,枚举类型的声明和结构体,联合体有相似之处,但是要注意的是,“可能的取值”后加的是逗号,而非分号。
二.枚举类型变量的取值
如上述代码所示,此枚举变量包含三个可能的取值:MALE,FEMALE,SECRET。事实上,这三个取值分别对应的数字是 0,1,2。让我们打印出来看看:
以此类推,若一个枚举变量拥有更多的取值,则从上到下分别默认为从 0 开始递增的自然数。同时,若你想对枚举常量的取值赋初值,这同样是可行的:
enum Sex
{
MALE = 2,
FEMALE = 4,
SECRET = 6
};
这样,打印出来的数字则为 2,4,6。
三.枚举类型的优点
其实,#define 也可以定义变量,如:
#define MALE 0
#define FEMALE 1
#define SECERT 2
那么,枚举类型的优势是什么呢:
- 增加代码的可读性和可维护性。
- 和#define定义的标识符比较枚举有类型检查,更加严谨。
- 便于调试,预处理阶段会删除 #define 定义的符号。
- 使用方便,一次可以定义多个常量。
- 枚举常量是遵循作用域规则的,枚举声明在函数内,只能在函数内使用。
四.相关链接
完