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,... –