C 枚舉

2018-05-20 15:17 更新

學(xué)習(xí)C - C枚舉

使用枚舉,您定義一個新的整數(shù)類型,其中類型的變量具有可能值的固定范圍。

這里是一個定義了名為Weekday的枚舉類型的語句的示例:

enum Weekday {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday};

這個語句定義了一個類型。新類型的名稱Weekday遵循枚舉關(guān)鍵字,此類型名稱稱為枚舉的標(biāo)記。

枚舉是整數(shù)類型,您指定的枚舉器將對應(yīng)于整數(shù)值。

默認(rèn)情況下,枚舉器將從零開始,每個連續(xù)的枚舉器的值都比前一個枚舉值多一個。

在這個例子中,星期一到星期日的值將為0到6.您可以聲明一個類型為Weekday的變量,并將其初始化為:

enum Weekday today = Wednesday;

這聲明一個名為today的變量,并將其初始化為星期三。

定義類型時也可以聲明枚舉類型的變量。

這是一個定義枚舉類型加上兩個變量的語句:

enum Weekday {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday} today, tomorrow;

這將聲明枚舉類型Weekday和該類型的今天和明天的兩個變量。

當(dāng)然你也可以在同一個語句中初始化變量,所以你可以這樣寫:

enum Weekday {Monday, Tuesday, Wednesday, Thursday, 
                      Friday, Saturday, Sunday} today = Monday, tomorrow = Tuesday; 

因為枚舉類型的變量是整數(shù)類型,它們可以在算術(shù)表達(dá)式中使用。你可以這樣寫上面的語句:

  
enum Weekday {Monday, Tuesday, Wednesday, Thursday, 
              Friday, Saturday, Sunday} today = Monday, tomorrow = today + 1; 

枚舉值

您可以顯式地為任何或所有枚舉器指定自己的整數(shù)值。

雖然您用于枚舉器的名稱必須是唯一的,但是枚舉器值本身不需要是唯一的。

以下是如何定義Weekday類型,以便枚舉器值從1開始:

enum Weekday {Monday = 1, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday};

現(xiàn)在,枚舉器周一到周日將對應(yīng)于值1到7。

在枚舉數(shù)后面有顯式值的枚舉器將被賦值連續(xù)的整數(shù)值。

您可以定義枚舉來識別卡面值,如下所示:

  
enum FaceValue { two=2, three, four, five, six, seven, 
                 eight, nine, ten, jack, queen, king, ace}; 
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號