枚举类型描述的是一组整型值的集合,方便用描述来使用对应的值。若需要修改某个枚举成员(常量)的值,直接修改枚举类型定义即可。
关于枚举类型(枚举标签)、枚举成员(枚举常量)、枚举变量:
enum示例:枚举成员被定义为INT类型(4字节)的数字编号,数字编号可以重复;通常从0起编依次加1;或者是自己定义。
枚举变量的取值范围正常应该是对应枚举类型的枚举成员之一。
利用运行rt-thread的stm32平台,可以用下列示例代码测试枚举类型。
#include #define INT_MIN -2147483648 //80000000#define INT_MAX 2147483647//7FFFFFFFenum test{m1=INT_MIN,m1_1,m2=33,m2_1,m3=INT_MAX,m4=33};int enum_test(void) { rt_kprintf("枚举应用示例n"); rt_kprintf("%dn%dn%dn%dn%dn%dn", m1,m1_1,m2,m2_1,m3,m4); rt_kprintf("枚举应用示例2n"); rt_kprintf("%dn%dn",(int)INT_MIN,(int)INT_MAX); enum test test1,test2,test3; test1=m2_1; test2=m3; test3=11;//非法使用,MDK编译时警告,但不认为是错误。 rt_kprintf("%dn%dn%dn",test1,test2,test3); return 0;}MSH_CMD_EXPORT(enum_test, test enum app.);
调试串口输出:
| /
- RT - Thread Operating System
/ | 4.0.2 build Feb 12 2022
2006 - 2019 Copyright by rt-thread team
turn off LED!
msh >enum_test
枚举应用示例
-2147483648
-2147483647
33
34
2147483647
33
枚举应用示例2
-2147483648
2147483647
34
2147483647
11
msh >