列舉宣告:enum標誌符列舉體enum列舉體enum標誌符:列舉基本型別
列舉體enum列舉基本型別:列舉體
列舉基本型別:
型別
列舉體:;多個列舉成員:
列舉成員
列舉成員,列舉成員,多個列舉成員
列舉成員:
標誌符
標誌符=表示式
enumdeclaration:enumidentifier列舉用來定義一組相關的整數常量。enumbodyenumenumbodyenumidentifier:enumbasetype
enumbodyenumenumbasetype:enumbody
enumbasetype:
type
enumbody:;enummembers:
enummember
enummember,enummember,enummembers
enummember:
identifier
identifier=expression
如果指定了 enum 標誌符 ,多個列舉成員 就在 enum 標誌符 的作用域內被宣告。enum 標誌符 宣告了乙個新型別。
如果不指定 enum 標誌符 ,則列舉稱為 匿名列舉,多個列舉成員 在 列舉宣告 出現的作用域內被宣告。沒有新型別被建立;多個列舉成員 的型別是 列舉基本型別 。
列舉基本型別 是列舉的基本型別。它必須是整數型別。如果忽略,預設為int。
enum // 匿名列舉定義常量 a=0、b=1、c=2 :
const int a = 0;等價於:const int b = 1;
const int c = 2;
enum x // 命名列舉這定義了新的型別 x ,擁有值 x.a=0、x.b=1、x.c=2 。
命名列舉成員可以被隱式轉換為整數型別,但是整數型別不能被隱式轉換為列舉型別。
列舉必須至少擁有乙個成員。
如果列舉成員被賦予乙個 表示式 ,則鎮各成員的值就是 表示式 的結果。表示式 必須在編譯時可以被決定。後續的沒有 表示式 的列舉成員的值是前乙個成員加一。
enum這令 a=0、b=12、c=13、d=8、e=9。
.min 列舉的最小值如果沒有顯式初始化,列舉變數的值被初始化為第乙個列舉成員的值。.max 列舉的最大值
.sizeof 儲存列舉值所需要的儲存器大小
例如:
x.min是 x.a
x.max是 x.c
x.sizeof等價於 int.sizeof
enum xx x; // x 被初始化為 3
C語言中列舉型別
列舉變數的建立 方法一 enum weekday 宣告了乙個列舉型別enum weekday enum weekday workday,weekend 用上面申明的列舉型別定義列舉變數 workday,weekend 方法二 不宣告有名字的列舉型別,直接定義列舉變數 enum workday,wee...
c語言中的列舉
列舉 或列舉 是c中使用者定義的資料型別。它主要用於將名稱分配給積分常量,名稱使程式易於閱讀和維護。列舉相對來說運用和理解都是比較簡單的 我們直接看例子 an example program to demonstrate working of enum in c include enum week ...
C語言中的自定義型別 enum列舉
列舉在c語言中其實是一些符號常量集。列舉定義了一些符號,這些符號的本質就是int型別的常量,每個符號和乙個常量繫結。這個符號就表示乙個自定義好的乙個識別碼,編譯器對列舉的認知就是符號常量所繫結的那個int型別的數字。例如可以使用數字1 2 3 4 5 6 7來代表周一到週末,但是純數字並不直觀,這個...