C语言枚举类型的使用

Posted 我想月薪过万

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言枚举类型的使用相关的知识,希望对你有一定的参考价值。

我们知道在 C语言 中学习一种数据类型无非就是搞清楚这种类型的 声明 和 定义。

枚举类型的声明

enum WEEKDAY

    MON = 1, //枚举常量,可以规定后面迭代值的初始值
    TUE,
    WED,
    THU,
    FRI,
    SAT,
    SUN
;

注意:这样声明的话 enum WEEKDAY 这个整体才是 WEEKDAY 枚举类型
typedef enum WEEKDAY

    MON = 1,
    TUE,
    WED,
    THU,
    FRI,
    SAT,
    SUN
 WEEKDAY_T;

注意:如果采用这种写法,那么 enum WEEKDAY 和 WEEKDAY_T 就是等价的,在下面要讲到的定义枚举变量的时候 加这两个修饰符都可以

注意:

  • 枚举类型变量的取值范围就是上面定义的枚举类型里面的枚举常量
  • 因此枚举类型变量赋值只能赋值上面的常量

枚举变量的定义

#include <stdio.h>
#include <string.h>

typedef enum WEEKDAY

    MON = 1,
    TUE,
    WED,
    THU,
    FRI,
    SAT,
    SUN
 WEEKDAY_T;

int main()

    enum WEEKDAY day1 = MON; //这里的取值只能为该类型下的枚举常量
    WEEKDAY_T day2 = TUE; //枚举类型修饰符 以上两种写法都可以
    printf("=%d=", day1);
    printf("=%d=", day2);
    return 0;

效果展示

以上是关于C语言枚举类型的使用的主要内容,如果未能解决你的问题,请参考以下文章

c语言中的布尔类型、枚举类型是个啥概念?

c语言中的布尔类型、枚举类型是个啥概念?

c语言中,啥是枚举类型(enum),给个例子?

c语言中的枚举型啥意思

c语言中的枚举型啥意思

C语言枚举类型的使用