91视频免费?看_蜜芽MY188精品TV在线观看_国产免费无遮挡在线观看视频_深夜国产_亚洲精品欧洲精品_欧美黑人粗暴多交

C語言基礎之枚舉類型解析

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

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

.枚舉類型的概念

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

.創建枚舉類型及變量

具體如何創建一個枚舉類型呢?我們可以創建一個有序列表的常數表,這個常數表中每一個常數標簽值都比前一個值大1,第一個數據是0,這是默認的情況。

圖1 枚舉類型語法定義

圖2 枚舉類型的示例

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

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

圖3 特殊指定常數標簽的值

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

圖4 枚舉變量的定義方式

圖5 變量定義的方式示例

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

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

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

圖7 變量的值的使用

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

三.枚舉變量實測

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

圖8 定義枚舉類型及變量

圖9 調試代碼查看常數標簽

將枚舉變量filter賦值一個常數標簽,HIGHPASS,我們在調試結果中查看其值。

圖10 常數標簽的值的顯示

在上述結果中,我們可以看出HIGHPASS的值為2BANDSTOP,LOWPASS,HIGHPASS,BANDPASS的值相應為0123滿足期望的定義。

此處將filter變量定義為HIGHPASS時,filter=HIGHPASS;

則可以在串口窗口中得到如下結果。

圖11 HIGHPASS打印輸出

filter變量定義為LOWPASS時,filter=LOWPASS;

則可以在串口窗口中得到如下結果。

圖12 LOWPASS打印輸出

以上結果均符合代碼設置,通過switch case打印了相關的枚舉常數值。

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

圖13 靈活定義常數標簽的值

圖14 調試代碼查看枚舉標簽常數值

圖15 常數標簽值的查看

通過調試窗口,我們可以看到,人為定義PAUL4,則BILL5,人為定義GARY7,則WEBBABY89,符合期望的定義,第一個數據ROB還是0.

總結,使用枚舉的好處,可以讓代碼的可讀性更好,更方便維護,當需要增加額外的常數表標簽值時,可以直接在常數枚舉類型列表中增加,而不用更改其它部分的代碼。

聲明:本內容為作者獨立觀點,不代表電子星球立場。未經允許不得轉載。授權事宜與稿件投訴,請聯系:editor@netbroad.com
覺得內容不錯的朋友,別忘了一鍵三連哦!
贊 4
收藏 4
關注 439
成為作者 賺取收益
全部留言
0/200
成為第一個和作者交流的人吧
主站蜘蛛池模板: 安宁市| 内丘县| 全椒县| 江山市| 南充市| 阿拉尔市| 珲春市| 万盛区| 繁峙县| 额济纳旗| 东乡族自治县| 长沙市| 南昌县| 库尔勒市| 隆安县| 望都县| 西充县| 融水| 社旗县| 马边| 金平| 包头市| 即墨市| 澄迈县| 贵南县| 房产| 宣武区| 嘉荫县| 扬中市| 安远县| 佳木斯市| 榆中县| 宝丰县| 哈尔滨市| 波密县| 宝应县| 五寨县| 通渭县| 黔西县| 桂平市| 远安县|