c語言列舉詳解
列舉一般用於定義一個集合,如色彩,星期等等,他提供了更加貼近實際的對物件的描述,方便了程式設計工作.
下面簡單介紹下C語言中的列舉型別和在Linux系統中的作用。
列舉是一個被命名的整型常數的集合, 列舉在日常生活中很常見。
例如表示星期的SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,SATURDAY, 就是一個列舉。
列舉的說明與結構和聯合相似, 其形式為:
enum 列舉名{
識別符號[=整型常數],
識別符號[=整型常數],
...
識別符號[=整型常數],
} 列舉變數;
如果列舉沒有初始化, 即省掉"=整型常數"時, 則從第一個識別符號開始, 順
次賦給識別符號0, 1, 2, ...。但當列舉中的某個成員賦值後, 其後的成員按依次
加1的規則確定其值。
例如下列列舉說明後, x1, x2, x3, x4的值分別為0, 1, 2, 3。
enum string{x1, x2, x3, x4}x;
當定義改變成:
enum string
{
x1,
x2=0,
x3=50,
x4,
}x;
則x1=0, x2=0, x3=50, x4=51
注意:
1. 列舉中每個成員(識別符號)結束符是",", 不是";", 最後一個成員可省略
","。
2. 初始化時可以賦負數, 以後的識別符號仍依次加1。
3. 列舉變數只能取列舉說明結構中的某個識別符號常量。
例如:
enum string
{
x1=5,
x2,
x3,
x4,
};
enum strig x=x3;
此時, 列舉變數x實際上是7。
enum 關鍵字在c中用的是比較多的,它常用來定義標記整型常量,你去看許多作業系統的原始碼,都有用這個關鍵字來一次定義許多標記整型常量,其實它相當於定義一個整型常量的表,方便應用時查詢。當然他的大部分功能都可以被巨集定義代替,不過畢竟enum關鍵字定義的東東是支援型別檢查的,可以用編譯器來發現一些錯誤(enum定義的只能是整型的常量表)
相關文章
- C語言 列舉資料型別C語言資料型別
- 補充:C語言列舉型別C語言型別
- c語言(列舉(enumeration)型別)C語言型別
- C語言 printf詳解C語言
- C語言#define詳解C語言
- C語言核心之陣列和指標詳解C語言陣列指標
- C語言斷言assert詳解C語言
- TS — 列舉(詳解)
- c語言指標詳解C語言指標
- 詳解C語言函式C語言函式
- c語言運算子詳解C語言
- C/C++語言精髓 *和&詳解C++
- C語言-srand種子詳解C語言
- C語言指標詳解(一)C語言指標
- C語言指標詳解(二)C語言指標
- C語言 sizeof函式詳解C語言函式
- Java 列舉 enum 詳解Java
- JAVA列舉使用詳解Java
- C語言陣列C語言陣列
- C 語言回撥函式詳解函式
- C語言可變引數詳解C語言
- Java enum列舉類詳解 列舉的常見用法Java
- C語言列舉型別所佔位元組大小例項解析C語言型別
- 「 網路安全術語解讀 」通用平臺列舉CPE詳解
- c語言的陣列C語言陣列
- C語言(字元陣列)C語言字元陣列
- c語言字元陣列C語言字元陣列
- 如何系統學習C 語言(中)之 聯合體、列舉篇
- 實驗6 C語言結構體、列舉應用程式設計C語言結構體程式設計
- [ASM C/C++] C語言陣列ASMC++C語言陣列
- javaenum(列舉)使用詳解+總結Java
- Java列舉類與註解詳解——一篇文章讀懂列舉類與註解詳Java
- c語言基礎筆記DAY7_結構體共用體列舉C語言筆記結構體
- 實驗6_C語言結構體、列舉應用程式設計C語言結構體程式設計
- 基於C語言的Q格式使用詳解C語言
- c語言學習--time庫函式詳解C語言函式
- C#:列舉C#
- java enum(列舉)使用詳解 + 總結Java