0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C語言必備知識枚舉體

CHANBAEK ? 來源:小李的創(chuàng)客實(shí)驗(yàn)室 ? 作者: 初出茅廬的小李 ? 2023-11-29 16:07 ? 次閱讀

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
收藏 人收藏

    評論

    相關(guān)推薦

    C語言枚舉精講分析

    ? ? ?在使用帶有數(shù)字性質(zhì)的名稱時有的時候需要用到枚舉的方式進(jìn)行定義函數(shù)名字,按照對應(yīng)的數(shù)字格式來對應(yīng)相應(yīng)的名稱。枚舉成員的值是常量不是變量。 ? ? ?我們首先講解一下枚舉與結(jié)構(gòu)
    的頭像 發(fā)表于 03-02 10:58 ?3944次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>中<b class='flag-5'>枚舉</b>精講分析

    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次閱讀

    C51單片機(jī)及C語言知識點(diǎn)必備秘籍

    C51單片機(jī)及C語言知識點(diǎn)必備秘籍
    發(fā)表于 09-28 23:18

    C51單片機(jī)及C語言知識點(diǎn)必備秘籍

    C51單片機(jī)及C語言知識點(diǎn)必備秘籍
    發(fā)表于 12-20 22:50

    c51單片機(jī)必備c語言知識

    c51單片機(jī)必備c語言知識
    發(fā)表于 01-05 22:51

    枚舉C語言中的一種基本數(shù)據(jù)類型

    C語言中,枚舉類型是被當(dāng)做 int 或者 unsigned int 類型來處理的,所以按照 C 語言規(guī)范是沒有辦法遍歷
    的頭像 發(fā)表于 09-25 15:45 ?8658次閱讀
    <b class='flag-5'>枚舉</b>是<b class='flag-5'>C</b><b class='flag-5'>語言</b>中的一種基本數(shù)據(jù)類型

    go語言枚舉類型怎么用

    go 語言枚舉類型是這么用的?在什么場景下會用到枚舉?本文對 go 語言枚舉做了詳細(xì)講解。 枚舉
    的頭像 發(fā)表于 09-02 09:43 ?5184次閱讀

    C語言枚舉簡述

    C語言中,如果一個變量只有幾種可能的值,則可以定義為枚舉類型,所謂“枚舉”就是指把可能的值一一列舉出來,變量的值只限于列舉出來的值的范圍內(nèi)。
    的頭像 發(fā)表于 03-24 15:15 ?801次閱讀

    STM32中C語言的基礎(chǔ)知識

    C語言是單片機(jī)開發(fā)中的必備基礎(chǔ)知識,本文列舉了部分STM32學(xué)習(xí)中比較常見的一些C語言基礎(chǔ)
    的頭像 發(fā)表于 04-27 17:42 ?1304次閱讀
    STM32中<b class='flag-5'>C</b><b class='flag-5'>語言</b>的基礎(chǔ)<b class='flag-5'>知識</b>

    詳解C/C++結(jié)構(gòu)、聯(lián)合體和枚舉的區(qū)別與內(nèi)存對齊

    C語言中構(gòu)造類型一共有4種,它們分別是數(shù)組、結(jié)構(gòu)(struct)、共用(union)、枚舉類型(enum)。
    的頭像 發(fā)表于 06-08 14:38 ?4607次閱讀
    詳解<b class='flag-5'>C</b>/<b class='flag-5'>C</b>++結(jié)構(gòu)<b class='flag-5'>體</b>、聯(lián)合體和<b class='flag-5'>枚舉</b>的區(qū)別與內(nèi)存對齊

    C語言編程必備知識合集

    電子發(fā)燒友網(wǎng)站提供《C語言編程必備知識合集.zip》資料免費(fèi)下載
    發(fā)表于 11-21 09:34 ?0次下載
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>編程<b class='flag-5'>必備</b><b class='flag-5'>知識</b>合集

    枚舉有多大?c語言枚舉end的作用是什么?

    枚舉有多大?c語言枚舉end的作用是什么? 枚舉C語言
    的頭像 發(fā)表于 01-19 14:19 ?599次閱讀