C语言--枚举类型 enum
枚举是 C 语言中的一种基本数据类型,用于定义一组具有离散值的常量。
在我们的程序开发时,对于某个变量有很多个不同的状态,比如,一天可以是星期一或星期二,如果我们不使用枚举而是用#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
本文作者:seekwhale13
本文链接:https://www.cnblogs.com/seekwhale13/p/17171037.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步