C语言,什么是枚举类型.doc
文本预览下载声明
什么是枚举
把一个事物所以可能的取值一一列举出来
程序1:
#include stdio.h
//自定义了一个数据类型,并没有定义变量,该数据类型的名字 enum WeekDay
enum WeekDay
{
//MonDay, TuesDay, WednesDay, ThursDay, FriDay, SaturdDay, Sunday
MonDay=10, TuesDay, WednesDay, ThursDay, FriDay, SaturdDay, Sunday
};//分号
int main(void)
{
//int day;//day定义成int类型范围太大不合适,day的取值只可能有7个(0-6),浪费空间
enum WeekDay day = FriDay;
//初始化一个enum WeekDay 类型变量 day
printf(%d\n, day);
return 0;
}
/*
-----------在VC++6.0输出结果:
4
14
*/
怎么使用枚举
程序2:
#include stdio.h
enum weekday
{
MonDay, TuesDay, WednesDay, ThursDay, FriDay, SaturdDay, Sunday
};
void f(enum weekday i)
//本函数的目的只是期望接受0-6之间的数字,将形参定义为枚举
{
switch (i)
{
case 0:
printf(MonDay !\n);
break;
case 1:
printf(TuesDay !\n);
break;
case 2:
printf(WednesDay !\n);
break;
case 3:
printf(ThrusDay !\n);
break;
case 4:
printf(FriDay !\n);
break;
case 5:
printf(ThursDay !\n);
break;
case 6:
printf(SunDay !\n);
break;
}
}
int main(void)
{
f(FriDay);//虽然FriDay本质上就是5,但直接写出f(5);就是错的,也不可能写成
return 0;
}
枚举的优缺点
优点:代码更安全,比较直观
缺点:书写麻烦
显示全部