enum格式
enum 枚举类型名 {枚举常量1,枚举常量2,……};
举例
enum Leixingming {I,J,K,L};
enum TYPE {OK,READY,WAIT,HOLD,END};
枚举常量是有默认值的,第一个常量默认为0。例如TYPE中OK是0,READY是1,……
也可以设置自定义的常量值,类型需要为整型,不能超出范围。未定义的常量会根据排序自动+1。
enum允许多个常量为相同值,例如
enum TYPE {OK=1,READY=3,WAIT=3,HOLD=4,END=4};
enum赋值
enum 枚举类型名 枚举变量名 = 枚举常量1;
enum TYPE statu = OK;
enum应用在switch中
enum对于多类型、多状态的状态机判断非常方便。先定义不同状态,再switch排列,或者直接将enum变量作为函数参数引用使用。比单纯用0、1、2、3的整型判断好。
enum TYPE {
OK,
READY,
WAIT,
HOLD,
END};
enum TYPE statu = HOLD;
switch(statu)
{
case OK:
……
case READY:
……
case END:
……
default:break;
}