一. 什么是枚举

含义:把一个事物所有可能的取值一一列举出来

二. 怎么使用枚举

举例:

#include <stdio.h>

enum WeekDay //只是定义了一个数据类型,该数据类型的名字是enum WeekDay
{
MonDay, TuesDay, WednesDay, ThursDay, FriDay, SaturDay, SunDay
};

void f(enum WeekDay i) //本函数的目的只是期望接受0~6之间的数字,将形参i定义为枚举类型
{
switch (i)
{
case 0:
printf("MonDay!\n");
break;
case 1:
printf("TuesDay!\n");
break;
case 2:
printf("WednesDay!\n");
break;
case 3:
printf("ThursDay!\n");
break;
case 4:
printf("FriDay!\n");
break;
case 5:
printf("SaturDay!\n");
break;
case 6:
printf("SunDay!\n");
break;
}
}

int main(void)
{
// enum WeekDay day = ThursDay; //给day变量赋值为ThursDay
// printf("%d\n", day);
f(FriDay); //虽然friday本质上就是5,但是直接写成f(5);就是错误的

return 0;
}

三. 枚举的优缺点

优点:代码更加安全了
缺点:书写麻烦了