gcc (Ubuntu/Linaro 4.6.1-9ubuntu2) 4.6.1
c89
什么是为枚举元素赋值的正确约定,所以与其他枚举类型没有冲突?为枚举元素赋值的正确约定
我经常看到十六进制格式,我使用的是想知道这有什么理由吗?
在我的源代码中,我有一个以上的枚举类型,所以我也做了以下内容:
typedef enum transfer_states_e {
/* Call transfer bind/supervised */
STATE_TRANSFER_IDLE = 0x1,
STATE_INIT_BLIND = 0x2,
STATE_INIT_SUPERVISED = 0x3,
STATE_INVOKE_BLIND = 0x4,
STATE_INVOKE_SUPERVISED = 0x5
} transfer_states_e;
typedef enum states_e {
/* Initial state */
STATE_IDLE = 0x6,
STATE_NULL = 0x7,
.
.
.
} states_e;
的任何建议非常感谢,
十六进制适用于标志位:0x01,0x02,0x04,0x08,0x10,... –