枚举——把可能的值一 一列举
枚举的定义
enum Day
{
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
};
enum Sex
{
Male,
Female,
Securt
};
enum Color
{
Red,
Green,
Blue
};
以上定义enum Day, enum Sex, enum Color都是枚举类型。
{}中的内容是枚举类型的可能取值,也称位枚举常量。
这些可能都是有值的,默认从0开始,依次递增1,也可以在定义的时候自行赋值
enum Color
{
Red,
Green,
Blue
};
int main()
{
printf("%d\n", Red);
printf("%d\n", Green);
printf("%d\n", Blue);
return 0;
}//打印的结果为 0 1 2
enum Color
{
Red = 1,
Green = 2,
Blue = 4
};
int main()
{
printf("%d\n", Red);
printf("%d\n", Green);
printf("%d\n", Blue);
return 0;
}//打印的结果为 1 2 4
枚举的优点
1.增加代码的可读性
2.和#define定义的标识符比较,枚举有类型检查,更加的严谨
3.防止命名污染
4.方便调试:程序运行时,会先进行预编译,预编译结束后,define所定义的宏便会被删除。而调试是在编译阶段后
5.使用方便,一次可以定义多个常量