【C語言】22-枚舉


說明:這個C語言專題,是學習iOS開發的前奏。也為了讓有面向對象語言開發經驗的程序員,能夠快速上手C語言。如果你還沒有編程經驗,或者對C語言、iOS開發不感興趣,請忽略

上一講介紹了結構體類型,這講就介紹C語言中的另一種數據類型---枚舉類型。枚舉類型在iOS中也是很常用的,用法跟Java中的枚舉類似。

一、枚舉的概念

枚舉是C語言中的一種基本數據類型,並不是構造類型,它可以用於聲明一組常數。當一個變量有幾個固定的可能取值時,可以將這個變量定義為枚舉類型。比如,你可以用一個枚舉類型的變量來表示季節,因為季節只有4種可能的取值:春天、夏天、秋天、冬天。

 

二、枚舉類型的定義

一般形式為:enum 枚舉名 {枚舉元素1,枚舉元素2,……};

enum Season {spring, summer, autumn, winter}; 

 

三、枚舉變量的定義

前面只是定義了枚舉類型,接下來就可以利用定義好的枚舉類型定義變量。

跟結構體一樣,有3種方式定義枚舉變量

1.先定義枚舉類型,再定義枚舉變量

enum Season {spring, summer, autumn, winter};

enum Season s;

 

2.定義枚舉類型的同時定義枚舉變量

enum Season {spring, summer, autumn, winter} s;

 

3.省略枚舉名稱,直接定義枚舉變量

enum {spring, summer, autumn, winter} s;

上面三種方式定義的都是枚舉變量s

 

四、枚舉使用的注意

1> C語言編譯器會枚舉元素(spring、summer等)作整型常量處理,稱為枚舉常量。

2> 枚舉元素的值取決於定義時各枚舉元素排列的先后順序。默認情況下,第一個枚舉元素的值為0,第二個為1,依次順序加1。

enum Season {spring, summer, autumn, winter};

也就是說spring的值為0,summer的值為1,autumn的值為2,winter的值為3

3> 也可以在定義枚舉類型時改變枚舉元素的值

enum season {spring, summer=3, autumn, winter};

沒有指定值的枚舉元素,其值為前一元素加1。也就說spring的值為0,summer的值為3,autumn的值為4,winter的值為5

 

五、枚舉變量的基本操作

1.賦值

可以給枚舉變量賦枚舉常量或者整型值

enum Season {spring, summer, autumn, winter} s;

s = spring; // 等價於 s = 0;

s = 3; // 等價於 s = winter;

 

2.遍歷枚舉元素

enum Season {spring, summer, autumn, winter} s;

// 遍歷枚舉元素
for (s = spring; s <= winter; s++) {
    printf("枚舉元素:%d \n", s);
}

輸出結果:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM