c语言 枚举类型enum用法
C语言枚举类型enum用法
枚举类型(enum)是C语言中的一种数据类型,它允许我们为一组相关的常量赋予一个有意义的名字。这种类型的定义可以提高程序的可读性和可维护性。以下是一些关于C语言枚举类型的用法。
定义枚举类型
使用enum关键字可以定义一个枚举类型。语法如下:
enum 枚举类型名 {
    成员1 =1,
    成员2 =2,
    ...
};
其中,成员1、成员2等都是枚举类型的成员名称,值1、值2等是与相应成员相关联的整数值。每个成员名称必须是唯一的。
使用枚举类型
定义了枚举类型后,我们可以声明一个变量,并将其赋值为枚举类型的某个成员。例如:
enum Season {
    SPRING = 1,
    SUMMER,
    AUTUMN,
    WINTER
};
enum Season currentSeason = SUMMER;
在上面的例子中,Season是一个枚举类型,它有4个成员。其中,SUMMER的值为2,currentSeason就是一个类型为enum Season的变量,它的值为2。
默认枚举值
如果没有为枚举类型的成员指定具体的值,则默认从0开始,每个成员的值依次递增。例如:
enum Color {
    RED,
    GREEN,
    BLUE
};
在上面的例子中,RED的值为0,GREEN的值为1,BLUE的值为2。
枚举与整数之间的转换
枚举类型可以与整数类型相互转换。例如,可以将一个枚举类型的值赋给一个整数变量,也可以将一个整数的值赋给一个枚举类型的变量。但需要注意的是,只能进行合法的转换,即只能转换为同一枚举类型中定义的值。例如:
enum Day {
    SUNDAY,
    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAYenum c++,
    SATURDAY
};
enum Day today = MONDAY;
int dayNum = (int)today; // 将枚举类型的值转换为整数类型
int dayValue = 3;
enum Day day = (enum Day)dayValue; // 将整数类型的值转换为枚举类型
在上面的例子中,dayNum的值为1,day的值为WEDNESDAY
使用枚举类型的成员
我们可以使用枚举类型的成员来进行比较、赋值和打印等操作。例如:
enum Gender {
    MALE,
    FEMALE
};
enum Gender myGender = MALE;
enum Gender yourGender = FEMALE;
if (myGender == yourGender) {
    printf("We have the same gender.\n");
} else {
    printf("We have different genders.\n");
}
在上面的例子中,根据不同的性别,打印不同的输出。
枚举类型作为函数参数
可以将枚举类型作为函数的参数类型。例如:
enum Color {
    RED,
    GREEN,
    BLUE
};
void printColor(enum Color color) {
    switch(color) {
        case RED:
            printf("Red\n");
            break;
        case GREEN:
            printf("Green\n");
            break;
        case BLUE:
            printf("Blue\n");
            break;
        default:
            printf("Unknown color\n");

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。