C65-枚举类型

枚举类型

枚举类型的定义:

c 复制代码
enum 枚举名 
{
    常量1,
    常量2,
    ...,
    常量n
};

例如:

c 复制代码
enum Weekday 
{
    Monday,
    Tuesday,
    Wednesday,
    Thursday,
    Friday,
    Saturday,
    Sunday
};

枚举类型有以下特点:

  1. 枚举常量默认从 0 开始依次递增,如上面的Monday值为 0,Tuesday值为 1,依此类推。

    • Codes:

      c 复制代码
      #include <stdio.h>
      
          //定义枚举类型
      enum Weekday
      {
          Monday,
          Tuesday,
          Wednesday,
          Thursday,
          Friday,
          Saturday,
          Sunday
      };
      
      int main()
      {
          //声明枚举变量
          enum Weekday today;
          today=Monday;    //合法赋值
          
          //测试:枚举常量"默认值"
          printf("Monday=%d\n",today);
          today=Sunday;
          printf("Sunday=%d\n",today);
      
          return 0;
      }
    • Show:

  2. 可以显式指定枚举常量的值,例如:

    c 复制代码
    enum Color 
    {
        RED = 1,
        GREEN = 3,
        BLUE = 5
    };
    • Codes:

      c 复制代码
      #include <stdio.h>
      
          //定义枚举类型
      enum Weekday_1
      {
          Monday=3,
          Tuesday,
          Wednesday,
          Thursday,
          Friday,
          Saturday,
          Sunday
      };
      
      int main()
      {
          //测试:显示指定枚举常量的值
          enum Weekday_1 today1;
          today1=Monday;
          printf("Monday=%d\n",today1);
          today1=Sunday;
          printf("Sunday=%d\n",today1);
          return 0;
      }
    • Show:

  3. 未显式指定值的枚举常量,其值为前一个常量的值加 1。

使用枚举类型可以声明变量:

c 复制代码
enum Weekday today;
today = Wednesday;  // 合法赋值

​ 4.枚举类型可以用于比较

  • Codes:

    c 复制代码
    #include <stdio.h>
    
        //定义枚举类型
    enum Weekday
    {
        Monday,
        Tuesday,
        Wednesday,
        Thursday,
        Friday,
        Saturday,
        Sunday
    };
    
    int main()
    {
        //声明枚举变量
        enum Weekday today1;
        enum Weekday today2;
        today1=Monday;
        today2=Tuesday;
        if(today1<today2)
        {
            printf("The test was successful.");
        }
    
        return 0;
    }
  • Show :

相关推荐
念何架构之路2 小时前
Go进阶之panic
开发语言·后端·golang
亓才孓2 小时前
[Properties]写配置文件前,必须初始化Properties(引用变量没执行有效对象,调用方法会报空指针错误)
开发语言·python
傻乐u兔3 小时前
C语言进阶————指针3
c语言·开发语言
两点王爷3 小时前
Java基础面试题——【Java语言特性】
java·开发语言
Swift社区3 小时前
Gunicorn 与 Uvicorn 部署 Python 后端详解
开发语言·python·gunicorn
菩提小狗3 小时前
小迪安全2023-2024|第5天:基础入门-反弹SHELL&不回显带外&正反向连接&防火墙出入站&文件下载_笔记|web安全|渗透测试|
笔记·安全·web安全
码农阿豪3 小时前
Python Flask应用中文件处理与异常处理的实践指南
开发语言·python·flask
岁岁种桃花儿3 小时前
CentOS7 彻底卸载所有JDK/JRE + 重新安装JDK8(实操完整版,解决kafka/jps报错)
java·开发语言·kafka
csbysj20203 小时前
AngularJS 模块
开发语言
Wentao Sun3 小时前
致敬软件创业者2026
笔记·程序人生