枚舉類型 目錄枚舉類型1. 定義2. 枚舉元素的值2.1 預設2.2 全部賦值2.3 部分賦值3. 枚舉變數的定義方式3.1 先定義枚舉類型,再定義枚舉變數3.2 同時定義枚舉類型和枚舉變數3.3 忽略枚舉名,直接定義枚舉變數3.4 結合typedef關鍵字4. 總結 1. 定義 枚舉是用來代表整數 ...
枚舉類型
目錄1. 定義
枚舉是用來代表整數常量的符號
預設形式:
enum 枚舉名 {枚舉元素, ...};
2. 枚舉元素的值
2.1 預設
枚舉元素的值,預設從0開始,逐項+1
// 從SUNDAY開始,值分別是0,1,……,6
enum DAY {SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY,FRIDAY, SATURDAY};
2.2 全部賦值
// 枚舉元素的值以賦值結果為準
enum DAY {
SUNDAY = 20,
MONDAY = 30,
TUESDAY = 100,
WEDNESDAY = 1024,
THURSDAY = 580,
FRIDAY = 699,
SATURDAY = 21
};
2.3 部分賦值
與預設情況相同,在枚舉元素無賦值的情況下,值預設為上一枚舉元素的值+1,首個枚舉元素的值預設為0。
// SUNDAY = 0,TUESDAY = 31,WEDNESDAY = 32
// 其餘枚舉元素的值以賦值結果2為準
enum DAY {
SUNDAY,
MONDAY = 30,
TUESDAY,
WEDNESDAY,
THURSDAY = 580,
FRIDAY = 699,
SATURDAY = 21
};
3. 枚舉變數的定義方式
3.1 先定義枚舉類型,再定義枚舉變數
// 定義枚舉類型
enum DAY {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
};
// 定義枚舉變數
enum DAY day;
3.2 同時定義枚舉類型和枚舉變數
enum DAY {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
} day; // 已經完成了對於枚舉變數day的定義
3.3 忽略枚舉名,直接定義枚舉變數
enum {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
} day; // 僅定義了枚舉變數day
3.4 結合typedef關鍵字
使用typedef
關鍵字,創建了一個新的類型名,簡化了enum
類型的聲明,無需再寫enum
。
typedef enum {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
} DAY;
DAY today = WEDNESDAY; // 無需寫成enum DAY day;
4. 總結
- 例子中各枚舉元素的值分別是多少?
enum day {
SUNDAY,
MONDAY = 30,
TUESDAY,
WEDNESDAY,
THURSDAY = 580,
FRIDAY = 699,
SATURDAY = 21
};
- 請說明枚舉類型4種定義方式,並舉出具體的例子。