列舉顧名思義就是一一枚舉。
把可能的取值一一枚舉。
比如我們現實生活中:
一周的星期一到星期日是有限的7天,可以一一枚舉。這裡就可以使用列舉了。性別有:男、女,也可以一一枚舉。
月份有12個月,也可以一一枚舉
顏色也可以一一枚舉。
enum day//星期
;enum ***//性別
;enum color//顏色
;
以上定義的 enum day , enum *** , enum color 都是列舉型別。 {}中的內容是列舉型別的可能取值,也叫 列舉常量 。
這些可能取值都是有值的,預設從0開始,一次遞增1,當然在定義的時候也可以賦初值。 例如:
enum color//顏色
;
只能在定義的時候賦初值,不能再以後改它。
我們可以使用 #define 定義常量,為什麼非要使用列舉?
列舉的優點:
1. 增加**的可讀性和可維護性只能拿列舉常量給列舉變數賦值,才不會出現型別的差異。2. 和#define定義的識別符號比較列舉有型別檢查,更加嚴謹。
c語言的源**---預編譯---編譯---鏈結---可執行程式
3. 防止了命名汙染(封裝)
4. 便於除錯
5. 使用方便,一次可以定義多個常量
enum color//顏色
;enum color clr = green;//只能拿列舉常量給列舉變數賦值,才不會出現型別的差異。
clr = 5; //ok??不行
C語言高階篇 第四講 自定義型別之聯合
聯合也叫共用體。聯合也是一種特殊的自定義型別 這種型別定義的變數也包含一系列的成員,特徵是這些成員公用同一塊空間 所以聯合也叫共用體 比如 聯合型別的宣告 union un 聯合變數的定義 union un un 計算連個變數的大小 我們發現,這裡不管是u的位址,還是u的成員變數的位址,都是一致的。...
C 研發 核心篇 第四講 4 7 多型
4.7.1 多型的基本概念 多型是c 物件導向三大特性之一 多型分為兩類 靜態多型和動態多型區別 下面通過案例進行講解多型 class animal class cat public animal class dog public animal 我們希望傳入什麼物件,那麼就呼叫什麼物件的函式 如果函...
C語言入門筆記 第四講 分支語句
單分支型 情況一 語法結構 if 表示式 語句 如果表示式為真,執行語句 如果表示式為假,什麼都不執行。情況二 if 表示式 語句1 else 語句2 如果表示式為真,執行語句1 如果表示式為假,執行語句2。多分支型 多分支 if 表示式1 語句1 else if 表示式2 語句2 else 語句3...