• 逍遥自在学C语言 | 枚举的那些事儿


    前言

    在C语言中,枚举是一种方便组织和表示一组相关常量的工具。枚举类型有助于提高代码的可读性和可维护性。本文将介绍C语言枚举的基本概念、语法和用法,以及一些高级技巧。

    一、人物简介

    • 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。

    • 第二位上场的是和我们一起学习的小白程序猿 —— 逍遥。

    二、基本概念

    枚举类型由enum关键字引入,并由一组常量构成。每个常量都称为枚举常量,它们在枚举中按顺序自动赋予整数值。

    enum Season {
        SPRING,   // 0
        SUMMER,   // 1
        AUTUMN,   // 2
        WINTER    // 3
    };
    

    在上述示例中,我们定义了一个名为Season的枚举类型,并包含四个常量:SPRINGSUMMERAUTUMNWINTER

    它们的默认值分别为0、1、2和3。

    三、使用枚举常量

    我们可以使用枚举常量来声明变量,并为其赋予枚举中的某个值。

    enum Season currentSeason = SUMMER;
    

    在上述示例中,我们声明了一个名为currentSeason的变量,并将其赋值为SUMMER

    这样,我们就可以通过变量currentSeason来引用枚举常量。

    四、比较和判断枚举常量

    我们可以使用相等运算符(==)来比较枚举常量之间的值是否相等。

    if (currentSeason == SPRING) {
        printf("It's spring!\n");
    } else if (currentSeason == SUMMER) {
        printf("It's summer!\n");
    } else if (currentSeason == AUTUMN) {
        printf("It's autumn!\n");
    } else if (currentSeason == WINTER) {
        printf("It's winter!\n");
    }
    

    在上述示例中,我们使用if语句根据当前季节输出相应的消息。

    此外,我们还可以使用switch语句根据枚举常量执行不同的代码块。

    switch (currentSeason) {
        case SPRING:
            printf("It's spring!\n");
            break;
        case SUMMER:
            printf("It's summer!\n");
            break;
        case AUTUMN:
            printf("It's autumn!\n");
            break;
        case WINTER:
            printf("It's winter!\n");
            break;
        default:
            printf("Invalid season!\n");
            break;
    }
    

    在上述示例中,根据currentSeason的值,我们执行不同的代码块。

    五、自定义枚举常量的值

    默认情况下,枚举常量的值是按顺序自动赋予的。但是,我们也可以显式地为枚举常量指定值。

    enum Month {
        JANUARY = 1,
        FEBRUARY,
        MARCH,
        APRIL,
        MAY,
        JUNE
    };
    

    在上述示例中,我们定义了一个名为Month的枚举类型,并为JANUARY指定了值1。其余的常量依次递增。

    六、枚举作为函数参数和返回值

    枚举常常被用作函数的参数和返回值,以便传递和表示一组选项或状态。

    enum Result {
        SUCCESS,
        FAILURE
    };
    
    enum Result performOperation() {
        // 进行操作...
        if (/* 操作成功 */) {
            return SUCCESS;
        } else {
            return FAILURE;
        }
    }
    

    在上述示例中,我们定义了一个枚举类型Result,用于表示操作的结果。函数performOperation()执行某个操作,并根据操作的成功与否返回相应的枚举常量。

    七、枚举嵌套

    C语言中,枚举也可以嵌套在其他结构中,以创建更复杂的数据结构。

    struct Person {
        char name[20];
        enum Gender {
            MALE,
            FEMALE
        } gender;
    };
    

    在上述示例中,我们定义了一个结构体Person,其中包含一个名为gender的嵌套枚举类型Gender

    小结

    通过这篇文章,我们学会了

    1、枚举的基本概念

    2、枚举的常见用法和使用技巧

    📢欢迎各位 👍点赞 ⭐收藏 📝评论,如有错误请留言指正,非常感谢!

  • 相关阅读:
    SFI立昌Automotive汽车方案与应用
    ios证书类型及其作用说明
    面试题005-Java-JVM(上)
    面试高潮季即将来袭,Android 开发者能否在其中鲤鱼跃龙门?
    ajax封装:get封装方式、post封装方式
    后端-打开抖音互联网会发生什么
    pytorch案例代码-3
    .NET周刊【12月第1期 2023-12-06】
    大一学生Web课程设计 美食主题网页制作(HTML+CSS+JavaScript)
    秋招每日一题T28——最大连续子序列
  • 原文地址:https://www.cnblogs.com/Wayne123/p/17467942.html