枚舉類型的使用分兩步:
1.定義一個特定的枚舉類型
2.定義該枚舉類型的變量并使用
以下學習內容均已經過實測:
1.定義枚舉類型的值只能是整型常量,正數、負數和零都可以,但不可以是浮點數
2.對枚舉類型做sizeof試驗:
(1)我在stm32單片機上試驗,也即ARM編譯器上,枚舉類型的存儲大小按定義的值里面需要占內存最大的給,即1、2、4、8都有可能,遵循夠用原則
(2)而在windows上試驗,即GNU GCC編譯器上,枚舉類型的存儲大小固定為4(但當定義中有超過4個字節大小的值時,存儲大小變為8)
(3)無論哪個編譯器,枚舉類型的值最長只能為8個字節,更長的大小不接受
試驗參考代碼,可以自己改定義中的值大小去測結果:
enum DAY
{
MON = 0, TUE, WED, THU, FRI, SAT, SUN
};
enum DAY day;
int main()
{
printf("sizeof(day):%d\\r\\n", sizeof(day));
printf("sizeof(enum DAY):%d\\r\\n", sizeof(enum DAY));
getchar();
}
3.如何用extern修飾枚舉類型
(1)錯誤的修飾代碼,在類型的定義前加extern將起不到任何作用,因為extern是用來修飾變量的。以下代碼不會報錯,但會警告,extern出現在這里起不到任何作用
extern enum DAY
{
MON = 0, TUE, WED, THU, FRI, SAT, SUN
};
(2)正確的修飾代碼,在枚舉變量定義前加extern
extern enum DAY day;
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
ARM芯片
+關注
關注
1文章
127瀏覽量
21689 -
GNU
+關注
關注
0文章
143瀏覽量
17598 -
STM32單片機
+關注
關注
59文章
549瀏覽量
58978 -
gcc編譯器
+關注
關注
0文章
78瀏覽量
3482
發布評論請先 登錄
相關推薦
C語言必備知識枚舉體
枚舉類型是ANSI C新標準所增加的。如果一個變量只有幾種可能的值,可以定義為枚舉類型。所謂“枚舉是指將變量的值一一列舉出來,變量的值只限于
labview中的基本函數發生器應用時信號類型接線枚舉有誤
各位好,我是一個labview初學者,在學習利用基本函數發生器編寫程序時,信號類型一連線接枚舉控件,結果出現“枚舉沖突”,不知是為何?請高手指導,多謝。上傳了一個連線后的
發表于 03-15 20:36
labview小白求教枚舉類型控件
學習labview還才3天,看的書是《labview寶典》,現在正好看到78頁,關于“獲取日期/時間字符串”函數,其中說到日期格式是枚舉類型,但是我實際測試,給枚舉控件插入了三個項,值
發表于 12-20 21:01
詳細講解c語言enum枚舉類型
詳細講解C語言enum枚舉類型在實際應用中,有的變量只有幾種可能取值。如人的性別只有兩種可能取值,星期只有七種可能取值。在 C 語言中對這樣取值比較特殊的變量可以定義為枚舉類型。所謂
發表于 12-21 23:22
枚舉類型最后面增加項報錯
各位大神:我的枚舉類型RadioState,在最后面增加一項,之后程序中很多用到RadioState的地方報錯,這個是什么原因造成的?下圖是我沒有改之前的枚舉類型信息:下圖是我添加了一
發表于 05-15 12:02
深入理解java枚舉類型enum用法
; StringFRI = Fri; StringSAT = Sat; StringSUN = Sun; } 語法(定義) 創建枚舉類型要使用 enum 關鍵字,隱含了所創建的類型都是 java.lang.Enum 類
發表于 09-27 11:49
?0次下載
SystemVerilog中枚舉類型的使用建議
SystemVerilog中枚舉類型雖然屬于一種“強類型”,但是枚舉類型還是提供了一些“不正經”的用法可以實現一些很常見的功能,本文將示例一
Java枚舉的特點及用法
在 Java 枚舉出現之前,通常會使用常量類來表示一組固定的常量值,直到Java 1.5之后推出了枚舉,那么枚舉類型有哪些特點,它比常量類又好在哪里呢。 本文將分析一下
java switch case值能為枚舉值嗎
Java中的switch語句可以接受枚舉類型的值作為參數。在Java中,枚舉是一種特殊的數據類型,它定義了一個固定數量的命名常量。因此,可以將枚舉
枚舉有多大?c語言枚舉end的作用是什么?
枚舉有多大?c語言枚舉end的作用是什么? 枚舉在C語言中是一種常見的數據類型,用于定義一組相互關聯的常量或者變量。它通常用于表示一系列可能的取值,使得程序更加易讀和易維護。在C語言中
評論