首页 > 其他分享 >C语言--枚举类型 enum

C语言--枚举类型 enum

时间:2023-03-02 11:14:30浏览次数:43  
标签:WED -- enum C语言 枚举 MON day define

枚举是 C 语言中的一种基本数据类型,用于定义一组具有离散值的常量。
image
在我们的程序开发时,对于某个变量有很多个不同的状态,比如,一天可以是星期一或星期二,如果我们不使用枚举而是用#define定义义:

#define MON  1
#define TUE  2
#define WED  3
#define THU  4
#define FRI  5
#define SAT  6
#define SUN  7

这样的代码看起来很繁琐,再如,某个机器的不同状态:

#define TRUNOFF  0//关机模式
#define COOLMODE  1//抽湿模式
#define DRYMODE  2//干燥模式
......

#define CLEANMODE  7//制冷模式

如果我们使用枚举的模式进行定义,会显得更为简洁与清晰:
第一个例子:

enum DAY 
{
      MON=1, TUE, WED, THU, FRI, SAT, SUN
};

第二个例子:

typedef enum
{
    TURNOFF = 0, ///关机模式
    COOLMODE, ///制冷模式
    DRYMODE, ///抽湿模式

} RUNMODE_STM_EN;

可见枚举类型在上述状态量的定义中更有优势。

1.枚举的一般形式

枚举的定义在很多地方与结构体都很相识,

1.1先定义枚举类型,再定义枚举变量:

enum DAY
{
      MON=1, TUE, WED, THU, FRI, SAT, SUN
};
enum DAY day

1.2定义枚举类型的同时定义枚举变量

enum DAY
{
      MON=1, TUE, WED, THU, FRI, SAT, SUN
} day;

1.3省略枚举名称,直接定义枚举变量

enum
{
      MON=1, TUE, WED, THU, FRI, SAT, SUN
} day;

1.4使用Typedef重定义枚举类型名称

typedef enum DAY
{
      MON=1, TUE, WED, THU, FRI, SAT, SUN
} Day;

Day day;//定义一个Day类型枚举变量
day = MON;//对枚举变量进行赋值

具体例子:

#include <stdio.h>

typedef enum DAY
{
    MON = 1, TUE, WED, THU, FRI, SAT, SUN
}Day;

int main()
{
    Day day;
    day = WED;
    printf("今天是周%d", day);
    return 0;
}

执行结果:

今天是周3

标签:WED,--,enum,C语言,枚举,MON,day,define
From: https://www.cnblogs.com/seekwhale13/p/17171037.html

相关文章

  • nginx限制单客户端访问速率
    可以通过nginx的limit_reqzone模块限流,在nginx的主配置文件nginx.conf中新增配置:geo$limit{  default1;  127.0.0.10;  192.168.1.0/240;}map$li......
  • 提效神器之Lombok
    提效神器之Lombok准备在IDEA插件中安装Lombok在IDEA设置中启动annotationprocessing添加依赖 <dependency> <groupId>org.projectlombok</groupId> <art......
  • 网页文件夹上传解决方案
    ​ 前言文件上传是一个老生常谈的话题了,在文件相对比较小的情况下,可以直接把文件转化为字节流上传到服务器,但在文件比较大的情况下,用普通的方式进行上传,这可不是一个好......
  • Markdown学习
    Markdown学习标题字体Hello,worldHello,worldHello,worldHello,world引用引用分割线图片超链接我的博客列表1.A2.B3.CABC表格姓名性别......
  • 咋提玄坛
    [ABC176F]BraveCHAIN先转化一下问题为有\(2\)个数然后每一轮有固定三个数,每一轮在\(5\)个数中删去\(3\)个数考虑朴素\(dp_{i,j,k}\)表示前\(i\)轮剩余\(j,k\)两个数的......
  • 安防视频监控系统前端摄像机——DSP与SOC摄像机
       一、DSP摄像机  DSP(DigitalSignalProcessing)即数字信号处理,它是利用数字计算机或专用数字信号处理设备,以数值计算的方法对信号进行采集、变换、综合......
  • git指令
           ......
  • BOSHIDA 三河博电科技 AC/DC变换电源图及其工作原理
    BOSHIDA三河博电科技AC/DC变换电源图及其工作原理 1、逆变供电电源a.直流供电时,由直流供电电压经开关S1,隔离三极管VD1,保险丝FU2及由C2、C3、L1组成的π型滤波器后......
  • slf4j、logback、log4j、log4j2的区别和配置文件
    区别slf4j是一个日志接口,自己没有具体实现日志系统,只提供了一组标准的调用api,这样将调用和具体的日志实现分离,使用slf4j后有利于根据自己实际的需求更换具体的日志系统......
  • 【MySQL】导出到CSV
    http://www.yiidian.com/mysql/mysql-export-table-to-cvs.html  要将表导出为CSV文件,我们将使用SELECTINTO....OUTFILE语句。该语句是对LOADDATA命令的补充,该......