前言
C语言枚举学习笔记
声明和定义枚举类型
- 定义枚举类型实际上就是一次性定义很多整型的常量
- 默认枚举值是从0开始的,后续的枚举值根据前一个枚举值+1,也可以强制改变枚举值的数据
先声明枚举类型,再定义枚举变量
sex
:枚举类型名
MALE, FEMALE
:枚举值(多个枚举值用,
隔开)
s
:枚举类型变量名
1 2 3 4 5 6
| enum sex { MALE, FEMALE };
enum sex s = MALE;
|
改变枚举值的数据
1 2 3 4 5 6
| enum sex { MALE=1, FEMALE };
enum sex s = MALE;
|
声明枚举类型同时定义枚举变量
1 2 3 4
| enum sex { MALE, FEMALE } s;
|
声明枚举类型同时定义枚举变量(省略枚举名)
1 2 3 4
| enum { MALE, FEMALE } s;
|
枚举类型数据的遍历
- 枚举类型是被当做 int 或者 unsigned int 类型来处理的,所以按照 C 语言规范是没有办法遍历枚举类型的
- 但是如果枚举是连续的,可以使用for循环来遍历,不连续则无法遍历
1 2 3 4 5 6 7 8
| enum { MALE, FEMALE } s;
for (s = MALE; s <= FEMALE; s++) { ... }
|
int类型转换为枚举类型
1 2 3 4 5 6 7 8 9
| enum sex { MALE, FEMALE };
int male = 0;
enum sex s; s = (enum SEX) male;
|
完成
参考文献
菜鸟笔记