C語言之列舉型別

2021-10-01 15:04:27 字數 1151 閱讀 1379

如果乙個變數有幾種可能的值,則可以定義為列舉型別,就是把各種存在的值一一的列舉出來。列舉在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...