在C语言中,enum(枚举)是一种用户自定义的数据类型,它允许程序员为一组整数值赋予有意义的名字,从而提高代码的可读性和可维护性,枚举类型的主要作用是将一组相关的整数值表示为一个变量,这样可以使代码更加简洁、易于理解。

专注于为中小企业提供成都网站制作、成都做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业日土免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
枚举类型的定义和使用如下:
1、定义枚举类型
要定义一个枚举类型,需要使用关键字enum,后面跟着枚举类型的名称和一组用大括号括起来的枚举常量,定义一个表示星期的枚举类型:
enum Weekday {
    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY,
    SATURDAY,
    SUNDAY
};
这里,Weekday是枚举类型的名称,MONDAY到SUNDAY是枚举常量,注意,枚举常量的命名规则与变量相同,但通常使用大写字母表示。
2、声明枚举变量
声明枚举变量的方法与声明其他基本数据类型的变量相同,声明一个Weekday类型的变量:
enum Weekday today;
3、赋值给枚举变量
将整数值赋给枚举变量时,可以直接使用枚举常量的名称,将today变量的值设置为MONDAY:
today = MONDAY;
4、使用枚举变量
可以使用枚举变量进行比较、算术运算等操作,判断today变量是否为工作日:
if (today >= MONDAY && today <= FRIDAY) {
    printf("Today is a workday.
");
} else {
    printf("Today is a weekend or holiday.
");
}
5、遍历枚举类型
可以使用switch语句遍历枚举类型,打印一周内的每一天:
switch (today) {
    case MONDAY:
        printf("Monday
");
        break;
    case TUESDAY:
        printf("Tuesday
");
        break;
    case WEDNESDAY:
        printf("Wednesday
");
        break;
    case THURSDAY:
        printf("Thursday
");
        break;
    case FRIDAY:
        printf("Friday
");
        break;
    case SATURDAY:
        printf("Saturday
");
        break;
    case SUNDAY:
        printf("Sunday
");
        break;
    default:
        printf("Invalid day
");
}
6、枚举类型的优缺点
优点:提高代码的可读性和可维护性;使代码更加简洁、易于理解。
缺点:枚举类型的大小固定,不能动态分配内存;枚举类型不能直接用于数组、结构体等复合数据类型。
Copyright © 2009-2022 www.fjjierui.cn 青羊区广皓图文设计工作室(个体工商户)达州站 版权所有 蜀ICP备19037934号