这次带着大家学习了枚举类型的定义、优点以及使用。
下一篇将带着大家学习联合体方面的知识。
目录
枚举其实就是一一列举的意思,把可能的取值一一列举。
例如:
取值是有限的。
例1:
- enum Day//星期
- {
- Mon,
- Tous,
- Wed,
- Thur,
- Fri,
- Sat,
- Sun
- };
- struct stu
- {
- int a;
- char b;
- };
例2:
- enum Day//星期
- {
- Mon,
- Tous,
- Wed,
- Thur,
- Fri,
- Sat,
- Sun
- };
-
- int main()
- {
- enum Day d = Fri;
- return 0;
- }
枚举类型的可能取值都是有值的,默认从0开始,一次递增1,当然在定义的时候也可以赋初值。
例3:
- enum Day//星期
- {
- Mon,//0
- Tous,//1
- Wed,//2
- Thur,//3
- Fri,//4
- Sat,//5
- Sun//6
- };
-
- int main()
- {
- printf("%d\n", Mon);
- printf("%d\n", Tous);
- printf("%d\n", Wed);
-
- return 0;
- }
代码结果:

例4:
修改枚举的默认值
- enum Day//星期
- {
- Mon = 1,
- Tous,
- Wed,
- Thur,
- Fri,
- Sat,
- Sun
- };
-
- int main()
- {
- //enum Day d = Fri;
- printf("%d\n", Mon);
- printf("%d\n", Tous);
- printf("%d\n", Wed);
- printf("%d\n", Thur);
- printf("%d\n", Fri);
- printf("%d\n", Sat);
- printf("%d\n", Sun);
-
- return 0;
- }
代码结果:

为什么要使用枚举呢
枚举的优点:
-
- enum Color//颜色
- {
- RED = 1,
- GREEN = 2,
- BLUE = 4
- };
- int main()
- {
- enum Color color = GREEN;//只能拿枚举常量给枚举变量赋值,才不会出现类型的差异。
- color = 5; //error
- return 0;
- }