性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

電源漫談
認(rèn)證:優(yōu)質(zhì)創(chuàng)作者
作者動態(tài)
數(shù)字電源控制器大電流I/O pin特性解析
2024-01-03 08:17
SiC功率器件的H3TRB測試規(guī)范解析
2024-01-03 08:15
SiC MOSFET柵極電阻的影響分析
2024-01-03 08:14

C語言基礎(chǔ)之枚舉類型解析

大家好,我是電源漫談,很高興和各位一起分享我的68原創(chuàng)文章,喜歡和支持我的工程師,一定記得給我點(diǎn)贊、收藏、分享。

枚舉類型是經(jīng)常在代碼中看到的變量類型,本文通過簡要介紹及測試,解析一下這種類型的變量的基本概念。

.枚舉類型的概念

首先看一下枚舉類型的概念,一般來說,枚舉類型是一個(gè)用戶創(chuàng)建的有限范圍的整數(shù)類型,本質(zhì)上一個(gè)整數(shù)int數(shù)據(jù)類型,但是它僅僅包含一些指定的值的列表,而這些值都用符號常量來表示。同樣的,類似于其它變量類型的定義,這些符號常量會和那些具有同樣類型的枚舉變量一起使用。

.創(chuàng)建枚舉類型及變量

具體如何創(chuàng)建一個(gè)枚舉類型呢?我們可以創(chuàng)建一個(gè)有序列表的常數(shù)表,這個(gè)常數(shù)表中每一個(gè)常數(shù)標(biāo)簽值都比前一個(gè)值大1,第一個(gè)數(shù)據(jù)是0,這是默認(rèn)的情況。

圖1 枚舉類型語法定義

圖2 枚舉類型的示例

如上圖2的示例中,我們定義了一個(gè)weekday這樣一個(gè)枚舉變量,其中包含七個(gè)常數(shù)標(biāo)簽,SUN,MON,TUE,WED,THR,FRI,SAT這七個(gè)常數(shù)標(biāo)簽。默認(rèn)情況下,它們的值為從06的整數(shù)。

實(shí)際上這里有一種特殊情況,任何一個(gè)常數(shù)標(biāo)簽,都可以指定為一個(gè)具體的值,而后面跟隨的標(biāo)簽都會在此基礎(chǔ)上順序增加1,如圖3所示。

圖3 特殊指定常數(shù)標(biāo)簽的值

接下來,我們再說一下枚舉變量的定義的方式,一般可以和枚舉類型一起寫,也可以單獨(dú)去寫變量的定義,如下圖4參考。

圖4 枚舉變量的定義方式

圖5 變量定義的方式示例

上圖中示例中,第一個(gè)例子是定義變量和定義類型放在一起方式,第二個(gè)例子是在定義了類型后,就像普通變量一樣,單獨(dú)定義了變量。

圖6 不寫類型名直接定義變量名的方式

在實(shí)際使用枚舉類型時(shí),也可以不寫類型名,但是這種情況需要將類型定義和變量定義放在一起寫。

圖7 變量的值的使用

當(dāng)定義了枚舉類型,以及枚舉變量后,對于變量的值可以直接使用任何已經(jīng)包含進(jìn)去的常數(shù)符號,當(dāng)然也可以使用具體的整數(shù),這個(gè)在代碼中都是識別的,如圖7所示。

三.枚舉變量實(shí)測

這里我們定義一個(gè)枚舉變量FilterType,及定義一個(gè)枚舉變量filter,代碼中其它部分功能,由于篇幅所限,我們此處不詳述。

圖8 定義枚舉類型及變量

圖9 調(diào)試代碼查看常數(shù)標(biāo)簽

將枚舉變量filter賦值一個(gè)常數(shù)標(biāo)簽,HIGHPASS,我們在調(diào)試結(jié)果中查看其值。

圖10 常數(shù)標(biāo)簽的值的顯示

在上述結(jié)果中,我們可以看出HIGHPASS的值為2,BANDSTOP,LOWPASS,HIGHPASS,BANDPASS的值相應(yīng)為0,1,2,3滿足期望的定義。

此處將filter變量定義為HIGHPASS時(shí),filter=HIGHPASS;

則可以在串口窗口中得到如下結(jié)果。

圖11 HIGHPASS打印輸出

filter變量定義為LOWPASS時(shí),filter=LOWPASS;

則可以在串口窗口中得到如下結(jié)果。

圖12 LOWPASS打印輸出

以上結(jié)果均符合代碼設(shè)置,通過switch case打印了相關(guān)的枚舉常數(shù)值。

前述部分,我們提到用戶可以直接指定常數(shù)標(biāo)簽的值,這里我們也測試一下。

圖13 靈活定義常數(shù)標(biāo)簽的值

圖14 調(diào)試代碼查看枚舉標(biāo)簽常數(shù)值

圖15 常數(shù)標(biāo)簽值的查看

通過調(diào)試窗口,我們可以看到,人為定義PAUL4,則BILL5,人為定義GARY7,則WEBBABY89,符合期望的定義,第一個(gè)數(shù)據(jù)ROB還是0.

總結(jié),使用枚舉的好處,可以讓代碼的可讀性更好,更方便維護(hù),當(dāng)需要增加額外的常數(shù)表標(biāo)簽值時(shí),可以直接在常數(shù)枚舉類型列表中增加,而不用更改其它部分的代碼。

聲明:本內(nèi)容為作者獨(dú)立觀點(diǎn),不代表電子星球立場。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請聯(lián)系:editor@netbroad.com
覺得內(nèi)容不錯的朋友,別忘了一鍵三連哦!
贊 4
收藏 4
關(guān)注 434
成為作者 賺取收益
全部留言
0/200
成為第一個(gè)和作者交流的人吧