當前位置:首頁 » 編程語言 » c語言枚舉法

c語言枚舉法

發布時間: 2024-11-29 05:50:58

㈠ C語言枚舉類型,知道這些你就會了

在實際編程中,有些數據的取值往往是有限的,只能是非常少量的整數,並且最好為每個值都取一個名字,以方便在後續代碼中使用,比如一個星期只有七天,一年只有十二個月,一個班每周有六門課程等。
以每周七天為例,我們可以使用 #define 命令來給每天指定一個名字:

#define 命令雖然能解決問題,但也帶來了不小的副作用,導致宏名過多,代碼鬆散,看起來總有點不舒服。C語言提供了一種 枚舉(Enum)類型 ,能夠列出所有可能的取值,並給它們取一個名字。

enum 是一個新的關鍵字,專門用來定義枚舉類型,這也是它在C語言中的唯一用途; typeName 是枚舉類型的名字; valueName1, valueName2, valueName3, ...... 是每個值對應的名字的列表。注意最後的 ; 不能少。

例如,列出一個星期有幾天:

可以看到,我們僅僅給出了名字,卻沒有給出名字對應的值,這是因為枚舉值默認從 0 開始,往後逐個加 1(遞增);也就是說,week 中的 Mon、Tues ...... Sun 對應的值分別為 0、1 ...... 6。

我們也可以給每個名字都指定一個值:

更為簡單的方法是只給第一個名字指定值:

這樣枚舉值就從 1 開始遞增,跟上面的寫法是等效的。
枚舉是一種類型,通過它可以定義枚舉變數:

也可以在定義枚舉類型的同時定義變數:

有了枚舉變數,就可以把列表中的值賦給它:

或者:

Mon、Tues、Wed 這些名字都被替換成了對應的數字。這意味著,Mon、Tues、Wed 等都不是變數,它們不佔用數據區(常量區、全局數據區、棧區和堆區)的內存,而是直接被編譯到命令裡面,放到代碼區,所以不能用 & 取得它們的地址。這就是枚舉的本質。

枚舉類型變數需要存放的是一個整數,它的長度和 int 相同。

熱點內容
程序常用演算法 發布:2025-03-15 03:47:16 瀏覽:6
雷速安卓版本怎麼不推送 發布:2025-03-15 03:42:57 瀏覽:18
nodejs搭建視頻伺服器 發布:2025-03-15 03:37:54 瀏覽:105
編譯器將固定字元串放在固定位置 發布:2025-03-15 03:36:11 瀏覽:364
高中生電腦編程培訓 發布:2025-03-15 03:11:04 瀏覽:49
蘋果和安卓5g哪個比較值得 發布:2025-03-15 03:05:11 瀏覽:905
台式電腦連接伺服器的線叫什麼線 發布:2025-03-15 03:02:21 瀏覽:980
python求餘弦 發布:2025-03-15 02:59:47 瀏覽:55
什麼叫伺服器域名 發布:2025-03-15 02:58:13 瀏覽:318
php框架實例 發布:2025-03-15 02:58:01 瀏覽:937