枚舉是C語言中的一種基本數據類型,通過枚舉可以聲明一組常數,來代表不同的含義,它實際上就是一組整型常量的集合。
枚舉是非常常用的一種類型,在現實生活中也很常見。比如有四個季節,在不同的季節需要顯示不同的配色,在代碼中可以用1到4四個數字表示不同的季節,但是這樣的話,程序的可讀性很差,因為你很難區分不同數字代表哪個季節,這個時候就可以使用一個季節的枚舉變量來表示春、夏、秋、冬,這樣當看到枚舉值的第一時刻就能知道對應的季節,但是實際上四個枚舉值對應的還是4個整型數字。
枚舉類型的定義
enum 枚舉名 {枚舉元素1, 枚舉元素2, 枚舉元素3… };
代碼
enum Season {sPRing, summer, autumn, winter};
枚舉變量的定義
按照格式定義好枚舉類型后,就可以使用定義好的枚舉類型聲明枚舉變量。下面就以四季為例子講解一下枚舉變量定義的幾種方式
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;
4、給枚舉類型重命名,然后定義枚舉變量
代碼
typedef enum _season {spring, summer, autumn, winter} Season; Season s;
枚舉元素對應的值
1、枚舉元素的值取決于定義枚舉類型時的先后順序,默認情況下,第一個枚舉元素的值為0,第二個為1,后面的依次加1
代碼
enum Season {spring, summer, autumn, winter} ;
例子中的spring的值為0,summer為1,autuum為2,winter為3
2. 枚舉元素的值也可以在定義枚舉類型的時候進行改變,給某個枚舉元素指定一個值,其枚舉元素后面的枚舉值依次加1
代碼
enum Season {spring, summer = 3, autumn, winter} ;
例子中的spring的值為0,summer為3,autuum為4,winter為5
枚舉元素對應的值
定義好枚舉類型后,就可以在類中使用枚舉類型的實例變量或者在方法中使用枚舉類型的參數。給枚舉變量賦值可以使用枚舉常量,也可以使用整型值,兩者效果一樣。
代碼
enum Season {spring, summer, autumn, winter} s; Season s1 = spring; //等價于 s1=0Season s2 = 2; //等價于s2= autumn
新聞熱點
疑難解答