一、什么是枚举
把一个事物所有的取值一一列举出来
二、如何定义枚举
#include <stdio.h>
# 调用时只能使用其中的某一个,不能使用其存储的int类型数值。因为如果
# 默认是从0开始,若第一个是数字,就从第一个数字开始往后累计增长
enum Number {
ZERO, ONE, TWO, THREE, FOUR, FIVE, SIX
};
void show(enum Number i) {
switch(i) {
case 0:
printf("这是ONE\n");
break;
case 2:
printf("这是TWO\n");
break;
case 3:
printf("这是THREE\n");
break;
case 4:
printf("这是Four\n");
break;
}
}
int main(void) {
#虽然保存的形式是数字,但是不能赋值1,那样的话就与int num = 1;没啥区别了
#而int num 可以赋值很多数值。不能满足我们的只取这几个其中之一的需求。
enum Number num = ONE; #不赋值ONE,赋值1,出错
show(num);
printf("%d\n", num); //结果是1
return 0;
}
自定义值:
enum week{ Mon = 1, Tues = 2, Wed = 3, Thurs = 4, Fri = 5, Sat = 6, Sun = 7 };
精简版:只定义第一个,其它自动自增
enum week{ Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun };
网友评论