列舉(或列舉)是c中使用者定義的資料型別。它主要用於將名稱分配給積分常量,名稱使程式易於閱讀和維護。
列舉相對來說運用和理解都是比較簡單的
我們直接看例子:
// an example program to demonstrate working// of enum in c
#include
enum week;
int main()
在上面的例子中,通過列舉定義變數day 然後將wed的值賦給day 因為是列舉型別,所以enum中的每個名稱的值為0, 1, 2, 3, 4, 5, 6
顯然wed值為2 所以day = 2;
看下面這個例子,更加詳細的表現了列舉的預設狀態
#includeenum year;
int main()
在此示例中,for迴圈將從i = 0執行到i = 11,因為i的值最初為jan,為0,dec的值為11。
1、如果我們沒有為列舉名稱顯式分配值,編譯器預設分配從0開始的值。例如,在以下c程式中,星期日獲取值0,星期一變為1,依此類推。
想必大家已經知道結果了,沒錯就是#include
enum day ;
int main()
the day number stored in d is 4
2、我們可以指定值以任何順序的一些名字,其他沒有分配值的名稱將前乙個名稱的值加一
#include結果:1 2 5 6 10 11 12enum day ;
int main()
3、分配給列舉的名稱的值必須是一些integeral恆定,即,該值必須在範圍從最小可能的整數值到最大可能的整數值。
4、所有列舉常量在其範圍內獨一無二,例如,以下程式編譯失敗
enum state ;報錯:redeclaration of enumerator "failed' 重新確認列舉者enum result ;
int main()
我們也可以使用巨集定義名稱常量。例如,我們可以使用以下巨集定義「工作」和「失敗」。
#define working 0
#define failed 1
#define freezed 2
當許多相關的命名常量具有積分值時,使用列舉超過巨集有多個優點。
a)列舉遵循範圍規則。
b)列舉變數自動分配值。以下更簡單
enum
state ;
這樣對比哪個更簡單顯而易見,有木有!
C語言中列舉型別
列舉變數的建立 方法一 enum weekday 宣告了乙個列舉型別enum weekday enum weekday workday,weekend 用上面申明的列舉型別定義列舉變數 workday,weekend 方法二 不宣告有名字的列舉型別,直接定義列舉變數 enum workday,wee...
C語言中enum 列舉
列舉是 c 語言中的一種基本資料型別,它可以讓資料更簡潔,更易讀。列舉語法定義格式為 enum 列舉名 接下來我們舉個例子,比如 一星期有 7 天,如果不用列舉,我們需要使用 define 來為每個整數定義乙個別名 define mon 1 define tue 2 define wed 3 def...
C語言中列舉的使用
通俗來說 當我們要宣告乙個類的時候,要宣告的這個類有多個屬性,我們需要同時給多哥屬性表明屬性資訊時,使用列舉來宣告會清晰明了,方便簡潔。列舉的語法 enum 列舉名 列舉成員 列舉屬性 多個成員之間用逗號隔開,但最後乙個成員屬性不需要有任何結束符號 大括號後一定要分號 呼叫列舉方法 enum 列舉名...