C語言必備知識枚舉體
枚舉類型是ANSI C新標(biāo)準(zhǔn)所增加的。如果一個變量只有幾種可能的值,可以定義為枚舉類型。所謂“枚舉是指將變量的值一一列舉出來,變量的值只限于列舉出來的值的范圍內(nèi)。
枚舉的定義形式
enum 枚舉類型名
{
枚舉元素列表
}枚舉變量列表;
可以先聲明類型再定義變量,也可以同時進(jìn)行
舉例
//先聲明類型再定義變量
enum weekday
{
sun,
mon,
tue,
wed,
thu,
fri,
sat
};
enum weekday workday,week_end;
//聲明類型同時定義變量
enum
{
sun,
mon,
tue,
wed,
thu,
fri,
sat
} workday,week_end;
枚舉的使用
#include < stdio.h > //printf scanf fputc
enum weekday
{
sun,//默認(rèn)是0開始 后面依次遞增
mon,
tue,
wed,
thu,
fri,
sat
};
enum weekday workday;
int main(void)
{
workday = mon;
printf("workday = %drn",workday);
return0;
}
枚舉注意事項(xiàng)
- 在編譯中,對枚舉元素按常量處理,它們不是變量,不能對它們賦值。
- 枚舉元素作為常量,它們是有值的,語言編譯按定義時的順序使它們的值為0,1,2,…。
- 枚舉值可以用來做判斷比較。如: if(workday = = mon)… if(workday > sun)…
- 一個整數(shù)不能直接賦給一個枚舉變量。應(yīng)先進(jìn)行強(qiáng)制類型轉(zhuǎn)換才能賦值。如:workday = (enum ewwkday)2;
單片機(jī)中使用枚舉的例子
描述GPIO工作模式的枚舉
/**
* @brief GPIO Configuration Mode enumeration
*/
typedefenum
{
GPIO_Mode_IN = 0x00, /*!< GPIO Input Mode */
GPIO_Mode_OUT = 0x01, /*!< GPIO Output Mode */
GPIO_Mode_AF = 0x02, /*!< GPIO Alternate function Mode */
GPIO_Mode_AN = 0x03/*!< GPIO Analog Mode */
}GPIOMode_TypeDef;
描述GPIO工作速度的枚舉
/**
* @brief GPIO Output Maximum frequency enumeration
*/
typedefenum
{
GPIO_Low_Speed = 0x00, /*!< Low speed */
GPIO_Medium_Speed = 0x01, /*!< Medium speed */
GPIO_Fast_Speed = 0x02, /*!< Fast speed */
GPIO_High_Speed = 0x03/*!< High speed */
}GPIOSpeed_TypeDef;
至此,枚舉的簡單介紹就到這了。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報(bào)投訴
-
單片機(jī)
+關(guān)注
關(guān)注
6037文章
44558瀏覽量
635299 -
C語言
+關(guān)注
關(guān)注
180文章
7604瀏覽量
136824 -
代碼
+關(guān)注
關(guān)注
30文章
4788瀏覽量
68612 -
GPIO
+關(guān)注
關(guān)注
16文章
1204瀏覽量
52098 -
枚舉
+關(guān)注
關(guān)注
0文章
16瀏覽量
4591
發(fā)布評論請先 登錄
相關(guān)推薦
C語言中枚舉精講分析
? ? ?在使用帶有數(shù)字性質(zhì)的名稱時有的時候需要用到枚舉的方式進(jìn)行定義函數(shù)名字,按照對應(yīng)的數(shù)字格式來對應(yīng)相應(yīng)的名稱。枚舉成員的值是常量不是變量。 ? ? ?我們首先講解一下枚舉與結(jié)構(gòu)體
C語言基礎(chǔ)知識科普
C語言是單片機(jī)開發(fā)中的必備基礎(chǔ)知識,本文列舉了部分STM32學(xué)習(xí)中比較常見的一些C語言基礎(chǔ)
發(fā)表于 07-21 10:58
?1903次閱讀
STM32單片機(jī)中的C語言基礎(chǔ)知識
C語言是單片機(jī)開發(fā)中的必備基礎(chǔ)知識,本文列舉了部分STM32學(xué)習(xí)中比較常見的一些C語言基礎(chǔ)
發(fā)表于 09-21 17:21
?4570次閱讀
C語言中枚舉的基本概念和常見用法
在C語言中,枚舉是一種方便組織和表示一組相關(guān)常量的工具。枚舉類型有助于提高代碼的可讀性和可維護(hù)性。本文將介紹C
發(fā)表于 08-17 15:32
?1466次閱讀
C51單片機(jī)及C語言知識點(diǎn)必備秘籍
電子發(fā)燒友網(wǎng)訊:應(yīng)廣大電子發(fā)燒友網(wǎng)讀者要求,本電子書《C51單片機(jī)及C語言知識點(diǎn)必備秘籍》為《單片機(jī)關(guān)鍵
發(fā)表于 07-30 13:59
?9848次閱讀
C語言枚舉簡述
在C語言中,如果一個變量只有幾種可能的值,則可以定義為枚舉類型,所謂“枚舉”就是指把可能的值一一列舉出來,變量的值只限于列舉出來的值的范圍內(nèi)。
詳解C/C++結(jié)構(gòu)體、聯(lián)合體和枚舉的區(qū)別與內(nèi)存對齊
C語言中構(gòu)造類型一共有4種,它們分別是數(shù)組、結(jié)構(gòu)體(struct)、共用體(union)、枚舉類型(enum)。
評論