如果乙個變數有幾種可能的值,則可以定義為列舉型別,就是把各種存在的值一一的列舉出來。列舉在c/c++/c#中,是乙個被命名的整型常數的集合。它可以讓資料更簡潔,更易讀。
接下來我們舉個例子,比如:一星期有 7 天,如果不用列舉,我們需要使用 #define 來為每個整數定義乙個別名:
#define mon 1
#define tue 2
#define wed 3
#define thu 4
#define fri 5
#define sat 6
#define sun 7
這個看起來**量就比較多,接下來我們看看使用列舉的方式:
enum day
;
這樣看起來是不是更簡潔了。使用關鍵字enum定義列舉。
語法定義格式為:
enum 列舉名 列舉變數;
如果列舉沒有初始化,即省掉"=整型常數"時, 則從第乙個識別符號開始,順次賦給識別符號0, 1, 2, …。但當列舉中的某個成員賦值後,其後的成員按依次加1的規則確定其值。
具體有四種方式 :
enum dayday;
enum day
;enum day day;
typedef
enum
day;
day day = tue;
enum
day;
enum dayday;
intmain
(int argc,
char
* ar**)
return0;
}
執行結果:
~
/desktop/c$ gcc main.c -o main
~/desktop/c$ .
/main
列舉元素:1
列舉元素:2
列舉元素:3
列舉元素:4
列舉元素:5
列舉元素:6
列舉元素:7
謝謝閱讀。 列舉型別enum例題 c語言之列舉型別(enum)
1 如果乙個變數只有幾種可能的值,則可以定義為 列舉型別 所謂 列舉 就是把可能的值一一的列舉出來,變數的值只限於列舉出來的值的範圍,如 語法 enum 列舉型別 其中的列舉成員列表是以逗號 相分隔 如 enum spectrum enum spectrum enum spectrum 其中 enu...
C語言之enum列舉型別變數
enum變數用在將變數轉為數字的時候,比如true和false 正常的情況下我們是定義為 define true 1 define false 0使用列舉變數可以這麼定義 enum boola a是列舉變數,其值只能是0或者1 if a 1 else 在資料多的情況下,比如是狀態機的狀態,資料型別的...
C語言之列舉型別基礎 防備忘
注 如果乙個變數,只能有幾種可能的值,則可以定義為列舉型別 1.列舉型別定義 enum weekday 型別定義 enum weekday total 定義列舉變數 如不指定 n內列舉元素的大小,則第乙個元素為0,之後元素自增1 即sun 0,tue 2.sat 6 total mon 即total...