c语言 枚举函数介绍 | 您所在的位置:网站首页 › stm32枚举类型 › c语言 枚举函数介绍 |
枚举函数:enum 枚举是C语言中一种基本的数据类型,实际上我们可以认为这就是定义了一些int 类型的符号(枚举元素),由我们或者编译器为这些符号赋值,因此我们只能对其赋整数,而赋值小数会舍去小数点后的部分。 赋值的基本原则为从0开始依次加1,如果用户自己定义在a处定义了一个值,编译器就从a处后从a开始递增。 以下为显示结果: 我们可以看到在一开始未赋值的情况下,系统自动从0开始递增,递增数为1,而遇到我们赋值的d元素后,d元素之后的所有元素都从d的值开始递增。而枚举只能在自己的定义内进行更改数值,在定义后,枚举元素就是一个常量,不能再次进行数据更改。 以下为报错: 从这一点来看,其实枚举和宏定义有类似的作用,都是对一个符号赋值后将其变为常量,在后续过程中方便使用和更改。 枚举的标准用法:
而宏定义先出现,用来解决符号常量的问题;后来人们发现有时候定义的符号常量彼此之间有关联(多选一的关系),用宏定义来做虽然可以但是不贴切,于是乎发明了枚举来解决这种情况。例如星期,月份这种递增的,使用枚举就方便很多。 宏定义: 枚举: 枚举的优点有 1.增加代码的可读性和可维护性。 2.和#define定义的标识符比较,枚举有类型检查,更加严谨。 3.防止了命名污染(封装)。 4.便于调试。 5.使用方便,一次可以定义多个常量。 枚举的妙用: 我们可以利用枚举数据类型自增的特点,将最后一个元素设置为计数器,这样就可以轻松得出一共有多少个枚举元素。这种做法避免了对宏定义的反复更改。这种用法在哔哩哔哩的Rock老师的教学项目 植物大战僵尸 中有使用,大家感兴趣可以看一看。结束! |
CopyRight 2018-2019 实验室设备网 版权所有 |