最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

第 22 講:枚舉

2021-10-04 03:21 作者:SunnieShine  | 我要投稿

前文解決了兩種需要帶關(guān)鍵字的自定義類型:結(jié)構(gòu)體和共用體,它們的用法也是各有各的好處和奇特之處。今天我們來(lái)看一種新的帶關(guān)鍵字的類型:枚舉類型(Enumerations)。

什么是枚舉類型?

枚舉類型一般用于列舉一些特殊情況時(shí),特別這些情況的范圍僅僅只有可以數(shù)出來(lái)的幾種情況的時(shí)候,我們就可以使用這種類型,例如星期。

我們可以使用枚舉類型為星期定義一個(gè)枚舉類型,寫法是這樣的:

我們把枚舉的每一個(gè)數(shù)值放到枚舉的大括號(hào)里,然后把每一個(gè)枚舉數(shù)值寫進(jìn)去就可以了。枚舉類型一般是需要對(duì)應(yīng)數(shù)值使用的,否則我們無(wú)法做到靈活使用枚舉的效果。所以我們一般都會(huì)配合整數(shù)使用,為每一個(gè)枚舉數(shù)值賦一個(gè)整數(shù)值;當(dāng)然,如果不賦值,那么從第一個(gè)元素開始,就以 0 為起始點(diǎn)開始往下順序默認(rèn)賦值;如果為其某一個(gè)數(shù)值賦值,那么后面的元素不賦值也可以得到默認(rèn)數(shù)值,這些數(shù)值就從賦值的數(shù)值開始自動(dòng)遞增 1 個(gè)單位。

這個(gè)寫法等價(jià)于前者。

當(dāng)然,如果 monday 字段不賦值的話,那么整體就會(huì)從 0 開始計(jì)算,即 monday 賦值為 0、tuesday 賦值為 1、wednesday 賦值為 2,等等。


使用

枚舉類型出乎意料得好用。為什么這么說(shuō)呢?因?yàn)槊杜e類型一般都不會(huì)用類型名稱(即這里的 enum week,當(dāng)然有時(shí)候也可以用上),而大多直接把里面的數(shù)值代入到指定位置上去就完成了使用。比如:

從代碼里可以發(fā)現(xiàn),每一個(gè) case 標(biāo)簽處跟的直接是枚舉字段,而且不需要使用成員訪問(wèn)運(yùn)算符這種奇怪的東西,也不需要類型名稱來(lái)作為輔助操作。

實(shí)際上,我們也可以從這種角度認(rèn)為,bool 是一種枚舉類型,因?yàn)樗穆暶髡Z(yǔ)句可以是這樣的。

這樣 false 字段就賦值為 0,而 true 自動(dòng)賦值為 1。


枚舉類型的內(nèi)存大小

當(dāng)然,bool 類型并不是這么簡(jiǎn)單,因?yàn)?bool 僅僅占據(jù)一個(gè)字節(jié),而枚舉類型需要整數(shù)的依托,所以枚舉類型的大小一般是 4 個(gè)字節(jié)(即 int 占據(jù)多大,枚舉就多大)。


第 22 講:枚舉的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
涞源县| 化德县| 炉霍县| 商水县| 清新县| 尉氏县| 静安区| 印江| 师宗县| 全州县| 驻马店市| 龙南县| 柏乡县| 阳原县| 客服| 望都县| 阜宁县| 班玛县| 古田县| 奎屯市| 广昌县| 新源县| 新乡县| 苏尼特右旗| 琼结县| 五大连池市| 临澧县| 香港 | 莱西市| 伊川县| 祁东县| 微博| 新竹县| 南昌县| 乡城县| 巨鹿县| 曲松县| 忻城县| 仲巴县| 昌江| 东港市|