在C语言中,枚举是用户定义的数据类型,允许用户定义一组被命名的常量,这里枚举类型成员默认是从0开始,之后顺位延后的枚举类型为1,2,3,4一直到最后一个枚举成员。
在这个过程中,如果某个枚举成员被赋予特定值的话,后面的成员会从前一个成员的值开始递增,例如:在我们之前通讯录中使用了枚举成员来替换数字0~7。
enum Option
{
EXIT,
ADD,
DEL,
SEARCH,
MODIFY,
SHOW,
SORT
};
在之前咋们通讯录里,这个分别代表0~7的数字,被我们替换成了字符的形式。这个就是枚举类型的定义。
switch (input)
{
case ADD:
AddConcate(&con);
break;
case DEL:
DelConcate(&con);
break;
case SEARCH:
SearchConcate(&con);
break;
case MODIFY:
MudifyConcate(&con);
break;
case SHOW:
ShowConcate(&con);
break;
case SORT:
SortConcate(&con);
break;
case EXIT:
//保存通讯录到文件中
SaveConcate(&con);
DestroyConcate(&con);
printf("退出系统\n");
break;
default:
printf("输入错误,请重新输入\n");
break;
}
那么我们在之前的通讯录中如何使用枚举类型成员呢,在我们使用switch语句的时候,case之后就可以将我们的枚举成员变量名写上去啦,case ADD代表了以下代码或函数实现的是增加联系人的功能。
我们在控制台运行代码的过程中,我们只输入1,就可以运行add的代码了,但是你可能会有疑问,为什么嘞?使用1和add不是效果一样嘛,对,就程序运行的结果是一样的,但是我们在使用代码的时候用了枚举类型,可以提高代码可读性,并且在维护代码的过程中更加容易。