枚举
枚举顾名思义就是 —— 列举; 把可能的取值逐个列举:
一周有七天:周一~周天可以一一列举 性别:男,女,可以列举 一年12个月也可以一一列举
等等类似情况就可以使用枚举。
枚举类型的定义
enum Day
{
Mon,
Tues,
Wed,
Thur,
Fri;
Sat;
Sun
};
enum Sex
{
Male,
Female
};
enum Color
{
Red,
Green,
Black
};
上面定义的enum Day , enum Sex ,enum Color 都是枚举类型。{}中的内容是枚举类型的可能取值,也叫枚举常量。 枚举常量是有初始值的,默认从0开始,一次递增1。 当然也可以在定义的时候赋初值。 例如:
enum Color
{
Red = 1,
Green = 3,
Black = 4
};
枚举的优点
- 增加代码的可读性
- 和#define定义的标识符比较,枚举又类型检查,更加严谨
- 放置了命名污染(封装)
- 便于调试
- 使用方便,一次可以定义多个常量
枚举的使用
enum TYPE
{
ADD = 3,
SUM,
MUL = 2,
DIV
};
void main()
{
enum TYPE t = ADD;
printf("%d\n", t);
printf("%d %d %d %d\n", ADD, SUM, MUL, DIV);
printf("size = %d\n", sizeof(enum TYPE));
}
|