← 返回首页
C语言系列教程(三十四)
发表时间:2021-03-31 15:34:35
枚举类型

在实际应用中,有的变量只有几种可能取值。如人的性别只有两种可能取值,一个星期只有七种可能取值。在 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 等都是常量,不能对它们赋值,只能将它们的值赋给其他的变量,当然也不能用&取得它们的地址。