C枚举实战用法

前言

提起枚举大家感觉很简单的,但是理解不深的我也被嘲笑过,特此来此坐下记录,只有自己写出来的,亲手敲出来的,理解才会更清楚

typedef enum{
	 MONDAY = 0x00,
	 TUESDAY,
	 WEDNESDAY,
	 THURSDAY,
	 FRIDAY,
	 SATURDAY,
	 SUNDAY,
	 DAY_NUM,
}WEEK_e;
WEEK_e day;  // 定义一个枚举变量

刚开始了解枚举体的时候只是明白和结构体类似,使用的时候需要定义枚举变量,然后他的优势是不给初值,默认第一个为0,递增下去。但是实际项目中却不是这样用的,下面就总结下:

1:用typedef来定义枚举体(或者结构体),方便后面定义枚举变量(定义结构体变量)(不用这个形式都快忘记是什么样子了,习惯)。一定要养成良好的习惯啊。
2:枚举变量未初始化会默认从第一个开始0,递增加1.(中途改了继续增加没意思就不说了)
3:枚举相当于常量(不用定义枚举变量,很重要),可以直接使用.
枚举和宏定义非常类似,如果定义一周的变量用#define,虽然可以,当时带来的副作用是宏名太多,代码松散,看起来不舒服,所以采取枚举方式很方便。
4:枚举最后一个变量是枚举的个数,常常和数组一起使用如下:

int week[DAY_NUM] = {MONDAY ,TUESDAY,... ...};  // 只是作为宏定义来使用

5:特别注意,在不同的枚举结构中定义,如果成员的名字一样会编译出错。这点一定要注意

如有其他常用功能欢迎补充。

你可能感兴趣的:(C语言)