列舉型別的定義形式為:
enum typename;
enum
是乙個新的關鍵字,專門用來定義列舉型別,這也是它在c語言中的唯一用途;typename
是列舉型別的名字;valuename1, valuename2, valuename3, ......
是每個值對應的名字的列表。注意最後的;
不能少。
列舉和巨集其實非常類似:巨集在預處理階段將名字替換成對應的值,列舉在編譯階段將名字替換成對應的值。我們可以將列舉理解為編譯階段的巨集。
列舉中的值它們不占用資料區(常量區、全域性資料區、棧區和堆區)的記憶體,而是直接被編譯到命令裡面,放到**區,所以不能用&
取得它們的位址。這就是列舉的本質。
列舉型別變數需要存放的是乙個整數,它的長度和 int 應該相同,4個位元組。
C語言基礎 C語言列舉 列舉型別的基本認識
前言 前段時間我們講完了指標和結構體,這次我們來講列舉型別,什麼是列舉呢?打個比方,比如我們乙個星期有七天,從周一到週日,這是固定不變,不可能無端端的跳出乙個星期八出來,在這種固定的情況下,我們如果要寫乙個程式去固定這七天,並且不讓別人亂修改,為了滿足這個需求,列舉就誕生啦.開始首先我們來看看乙個需...
C語言基礎歸納 列舉常量
enum 語句允許定義一組整數常量 1.enum woodwind 該語句的結果是 oboe flute clarinet 和bassoon,常量值分別為0 1 2 和3。如果不想按照從0 開始的順序,可以自己給常量賦值。任何沒有被指定值的常量,其值都比前乙個常量大1,如 1.enum woodwi...
C語言 列舉
在實際問題中,有些變數的取值被限定在乙個有限的範圍內。例如,乙個星期內只有七天,一年只有十二個月,乙個班每週有六門課程等等。如果把這些量說明為整型,字元型或其它型別顯然是不妥當的。為此,語言提供了一種稱為 列舉 的型別。在 列舉 型別的定義中列舉出所有可能的取值,被說明為該 列舉 型別的變數取值不能...