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