枚举是c语言中的一种数据类型,定义格式为
enum 枚举名{
枚举元素1,枚举元素2,......};
用#define定义一星期七天,就要为每个整数定义一个别名
#define MON 1
#define TUE 2
#define WED 3
#define THU 4
#define FRI 5
#define SAT 6
#define sun 7
用枚举的方式定义一星期七天
enum DAY
{
MON=1, TUE, WED, THU, FRI, SAT, SUN
};
第一个枚举成员的默认值为整型的0,后续枚举成员的值在前一个成员上加1
可以在定义枚举类型时改变枚举元素的值
enum season {
spring, summer=3, autumn, winter};
spring的值为0,summer的值为3,autumn的值为4
枚举变量的定义
- 先定义枚举类型,再定义枚举变量
enum DAY
{
MON=1, TUE, WED, THU, FRI, SAT, SUN
};
enum DAY day;
- 定义枚举类型的同时定义枚举变量
enum DAY
{
MON=1, TUE, WED, THU, FRI, SAT, SUN
} day;
- 省略枚举名称,直接定义枚举变量
enum
{
MON=1, TUE, WED, THU, FRI, SAT, SUN
} day;
在C语言中枚举是被当作int或者unsigned int 类型处理
枚举类型必须连续才可以实现有条件的遍历
#include<stdio.h>
enum DAY
{
MON=1, TUE, WED, THU, FRI, SAT, SUN
} day;
int mian()
{
for (day = MON; day <= SUN; day++)
{
printf("枚举元素:%d\n",day);
}
}
以上输出结果为
枚举元素:1
枚举元素:2
枚举元素:3
枚举元素:4
枚举元素:5
枚举元素:6
枚举元素:7
枚举在switch中的使用
#include<stdio.h>
#include<stdlib.h>
int mian()
{
enum color {
red=1; green; blue };
enum color favorite_color;
printf("请输入你喜欢的颜色:(1.red,2.green,3.blue):");
scanf("%d",&favorite_color);
switch