...
展开 | ||
---|---|---|
|
效果:
关于枚举值的变量类型,一般认为是int型,但某些嵌入式设备上,枚举值的类型实际是char,像下面这样的枚举值定义会出现问题:
代码块 |
---|
typedef enum State
{
StateA = 1 << 0,
StateB = 1 << 1,
StateC = 1 << 2,
...
StateX = 1 << 8 // 错误,超出char类型范围了
} STATE_E; |
对此,只能将枚举值转化为宏定义,如下:
代码块 |
---|
#define StateA (1 << 0)
...
#define StateX (1 << 8) |