C語言程式設計藝術 C語言中enum變數型別的使用

2021-05-23 18:44:22 字數 669 閱讀 2286

在c語言中有一種對軟體工程來講,可以大大提高程式可讀性的資料型別,那就是列舉(enum)。一般的定義方式如下:

enum enum_type_name enum_variable_name;

enum_type_name是自定義的一種資料資料型別,而enum_variable_name為enum_type_name型別的乙個變數。實際上enum_type_name型別是對乙個變數取值範圍的限定,而花括號內是它的取值範圍,即enum_type_name 型別的變數 enum_variable_name只能取值為花括號內的任何乙個值,如果賦給該型別變數的值不在列表中,則會報錯或者警告。

實際上在此定義了一組常量:enum_const_1、enum_const_2、...、enum_const_n,這些常量可以用來給任何一種型別的資料賦值,在這種意義下與#define定義的常量幾乎沒有區別。

enum變數型別還可以給其中的常量符號賦值,如果不賦值則會從被賦初值的那個常量開始依次加1,如果都沒有賦值,它們的值從0開始依次遞增1。如分別用乙個常數表示不同顏色

typedef enumcolor.

其中各常量名代表的數值分別為:

green = 1

red = 2

blue = 3

green_red = 10

green_blue = 11

C語言中enum 列舉

列舉是 c 語言中的一種基本資料型別,它可以讓資料更簡潔,更易讀。列舉語法定義格式為 enum 列舉名 接下來我們舉個例子,比如 一星期有 7 天,如果不用列舉,我們需要使用 define 來為每個整數定義乙個別名 define mon 1 define tue 2 define wed 3 def...

C語言中 enum詳解

note 儘管乙個列舉常量占用4個位元組,恰好和int型別占用的位元組數相同,通過sizeof操作符求得,但enum型別和int型別並不等價,將int型別的整數賦值給enum變數時,需要進行強制型別裝換。因為列舉型別是一種基本資料型別,而不是一種構造型別,所以不能把這些列舉常量說明為整形,字元型或其...

C語言中enum型別的用法

11.10 列舉型別 在實際問題中,有些變數的取值被限定在乙個有限的範圍內。例如,乙個星期內只有七天,一年只有十二個月,乙個班每週有六門課程等等。如果把這些量說明為整型,字元型或其它型別顯然是不妥當的。為此,c語言提供了一種稱為 列舉 的型別。在 列舉 型別的定義中列舉出所有可能的取值,被說明為該 ...