枚举类型的声明
可能取值能够一一列举
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
enum color
{
red,
green,
blue
};
int main()
{
return 0;
}
关键字:enum
枚举类型和#define对比
枚举类型的优点
- 增加代码的可读性和可维护性
- 和#define定义的标识符⽐较枚举有类型检查,更加严谨。
- 便于调试,预处理阶段会删除 #define 定义的符号
- 使⽤⽅便,⼀次可以定义多个常量
- 枚举常量是遵循作⽤域规则的,枚举声明在函数内,只能在函数内使⽤
void menu()
{
printf("***********************");
printf("*******1.add 2.sum*****");
printf("*******3.mul 4.div*****");
printf("******* 0.exit ******");
printf("***********************");
}
enum option
{
exit,//0
add,//1
sum,//2
mul,//3
div//4
};
int main()
{
int input = 0;
printf("请选择:>");
scanf("%d", &input);
switch (input)
{
case add:
break;
case sum:
break;
case mul:
break;
case div:
break;
case exit:
break;
default:
break;
}
return 0;
}
相当于给常量值起了个名字
枚举的常量是有类型的
#define 定义的常量是没有类型的