在实际应用中,有的变量只有几种可能取值。如人的性别只有两种可能取值,一个星期只有七种可能取值。在 C 语言中对这样取值比较特殊的变量可以定义为枚举类型。所谓枚举是指列出所有可能的取值,并给它们取一个名字。
枚举类型定义形式为:
enum typeName{ valueName1, valueName2, valueName3, ...... };
实例:
#include <stdio.h>
//枚举值就从 1 开始递增
enum Week{ Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun } ;
int main(){
enum Week weekend;
scanf("%d", &weekend);
switch(weekend){
case Mon: puts("Monday"); break;
case Tues: puts("Tuesday"); break;
case Wed: puts("Wednesday"); break;
case Thurs: puts("Thursday"); break;
case Fri: puts("Friday"); break;
case Sat: puts("Saturday"); break;
case Sun: puts("Sunday"); break;
default: puts("Error!");
}
return 0;
}
运行结果:
3
Wednesday
注意: 1) 枚举列表中的 Mon、Tues、Wed 这些标识符的作用范围是全局的,不能再定义与它们名字相同的变量。 2) Mon、Tues、Wed 等都是常量,不能对它们赋值,只能将它们的值赋给其他的变量,当然也不能用&取得它们的地址。