列舉型別理解

2021-07-27 13:48:59 字數 1015 閱讀 2991

廢話不說,直接上**示例:

enum

weekday;

上面的**就是定義了乙個列舉型別的變數。

enum

是列舉型別的關鍵字。列舉是乙個很有意思的東西,weekday是乙個變數,而且取值範圍就是{}內的值,{}內的值是常量表示weekday的可能去到的值,稱作列舉元素。列舉元素預設是從零開始,逐個遞增的,上面**中,我給初始設定了mon=1,這樣就不是從零開始了,而是從1開始向後遞增。

列舉型別的使用意義是方便程式設計師記憶,也就是說在我們的開發過程中,我們定義了很多的常量,比如1、2、3、4、5、6、7分別代表一周的7天。這樣看著很方便啊,很好。但是,開發沒有一天兩天就能完事的,比如乙個專案開發周期是3個月,誰能保證不會忘記數字對應的天?當然有人會說不可能,1-7對應1-7,怎麼會忘記。那麼我們換乙個例子,在開發中,我用1表示紅色,2表示藍色,3表示黃色,那麼3個月後保證還能記得清楚?這個時候列舉的好處就出來了。我不用去記對應關係,只要提前寫乙個列舉型別的變數然後我們就可以在以後的開發中使用red,blue,yellow,這樣的單詞帶取值,這樣沒幾個人會忘記吧。那麼我們就來寫乙個這樣的列舉:

enum

color;

但是列舉型別也不要濫用,因為它是乙個單獨的資料型別,因此不能像陣列那樣操作,而且要經常用到資料轉換,操作起來不方便。所以在實際開發中比較少用。

雖然列舉有著這個缺點,但是它對於**的記憶和可讀性的幫助還是很大的。所以何時使用,怎麼使用還需要程式設計師自己去理解。

而對於列舉型別的使用也很簡單:

intmain(

intargc,

const

char

* argv) ;

intk;

scanf

("%d"

, &k);

intcol = (

enum

color

)k;

switch

(col)

return0;

} 這一段**就是對於乙個列舉型別的應用。很簡單,很容易看得懂。

深入理解列舉型別enum

問題是git commit amend 引起的。一條commit已經push到遠端develop了,但是後來又在這條commit上進行了amend操作,導致這條commit的雜湊碼發生了變化。並且後續又在這條commit之後進行了n條commit操作。大概的情況畫了個簡圖,如圖所示。下面的綠色就是最...

深入理解C 列舉型別enum

參考 程式語言中的所有特性都是為了滿足某種需求,達到某個目的還出現.不會莫名其妙的出現在那.列舉可以用來儲存一組屬性的值.enum的全稱是enumeration意思是列舉 看著這句話可能覺得太書面化了,不夠通俗易懂.那舉些通俗的例子說說.日常生活中我們特喜歡分類,比如讀書時分啥數,理,化.當官的級別...

深入理解C 列舉型別enum

程式語言中的所有特性都是為了滿足某種需求,達到某個目的還出現.不會莫名其妙的出現在那.列舉可以用來儲存一組屬性的值 enum的全稱是enumeration意思是列舉 看著這句話可能覺得太書面化了,不夠通俗易懂.那舉些通俗的例子說說.日常生活中我們特喜歡分類,比如讀書時分啥數,理,化.當官的級別有啥省...