C語言 針對枚舉類型的幾點說明
(1)枚舉型僅限于取值有限的數(shù)據(jù)。例如:1周的7天,1年的12個月。
(2)enum是定義枚舉型的關(guān)鍵字,定義枚舉型必須以enum開頭。
(3)定義枚舉型中花括號中的標(biāo)識符稱為枚舉元素或枚舉常量,枚舉元素必須是標(biāo)識符的形式,不能是數(shù)字常量或字符常量。枚舉元素的名字由程序設(shè)計者自行指定,這些名字只是為了提高程序的可讀性才指定的一個符號,并沒有實際固定的意義,例如days枚舉類型中Sunday并不自動就代表“星期天”。也就是說,只要程序設(shè)計人員愿意,枚舉元素用什么表示都可以。
(4)枚舉元素作為常量是有值的:第一個標(biāo)識符為0,第二個標(biāo)識符為1……。例如,上例days 枚舉類型中:
Sunday=0, Monday=l, ……Friday=5, Saturday=6
所以枚舉元素可以進(jìn)行關(guān)系運算,比較規(guī)則是序號大者為大!
(5)枚舉元素的值也是可以由程序設(shè)計人員在設(shè)計中指定。例如:
enum color{red=3, yellow=5 ,tgree,rgrey,blue,black};
其他未指定值的,根據(jù)前一個的值自動加1,如gree為6, grey為7等。
(6)某一變量一旦被定義為枚舉類型,其值只能是枚舉類型表中的一個,不可以對它賦其他的常量。例如:
enum color{red=3, yellow ,gree,grey,blue,black};
main()
{
enum color cl;
cl=red;
printf("%d",cl);
}
輸出結(jié)果為:
3
那么能不能直接將3賦給enum color變量c1呢?
cl=3;
這種用法是錯誤的。
點擊加載更多評論>>