枚舉和一組預(yù)處理的#define有什么不同

    時(shí)間:2020-11-22 18:32:24 筆試題目 我要投稿

    枚舉和一組預(yù)處理的#define有什么不同

      只有很小的區(qū)別。C 標(biāo)準(zhǔn)中允許枚舉和其它整形類別自由混用而不會(huì)出錯(cuò)。(但是, 假如編譯器不允許在未經(jīng)明確類型轉(zhuǎn)換的情況下混用這些類型,則聰明地使用枚舉可以捕捉到某些程序錯(cuò)誤。)

      枚舉的一些優(yōu)點(diǎn): 自動(dòng)賦值; 調(diào)試器在檢驗(yàn)枚舉變量時(shí), 可以顯示符號(hào)值; 它們服從數(shù)據(jù)塊作用域規(guī)則。

      (編譯器也可以對(duì)在枚舉變量被任意地和其它類型混用時(shí), 產(chǎn)生非重要的警告信息, 因?yàn)檫@被認(rèn)為是壞風(fēng)格。)

      一個(gè)缺點(diǎn)是程序員不能控制這些對(duì)非重要的警告; 有些程序員則反感于無法控制枚舉變量的大小。

    拓展:

      (1)枚舉的`聲明:枚舉聲明用于聲明新的枚舉類型。

      訪問修辭符 enum 枚舉名:基礎(chǔ)類型

      {

      枚舉成員

      }

      基 礎(chǔ)類型必須能夠表示該枚舉中定義的所有枚舉數(shù)值。枚舉聲明可以顯式地聲明 byte、sbyte、short、ushort、int、uint、long 或 ulong 類型作為對(duì)應(yīng)的基礎(chǔ)類型。沒有顯式地聲明基礎(chǔ)類型的枚舉聲明意味著所對(duì)應(yīng)的基礎(chǔ)類型是 int。

      (2)枚舉成員

      枚舉成員是該枚舉類型的命名常數(shù)。任意兩個(gè)枚舉成員不能具有相同的名稱。每個(gè)枚舉成員均具有相關(guān)聯(lián)的常數(shù)值。此值的類型就是枚舉的基礎(chǔ)類型。每個(gè)枚舉成員的常數(shù)值必須在該枚舉的基礎(chǔ)類型的范圍之內(nèi)。

      示例:

      public enum TimeofDay:uint

      {

      Morning=-3,

      Afternoon=-2,

      Evening=-1

      }

      產(chǎn)生編譯時(shí)錯(cuò)誤,原因是常數(shù)值 -1、-2 和 –3 不在基礎(chǔ)整型 uint 的范圍內(nèi)。

      (3)枚舉成員默認(rèn)值

      在枚舉類型中聲明的第一個(gè)枚舉成員它的默值為零。

      以后的枚舉成員值是將前一個(gè)枚舉成員(按照文本順序)的值加 1 得到的。這樣增加后的值必須在該基礎(chǔ)類型可表示的值的范圍內(nèi);否則,會(huì)出現(xiàn)編譯時(shí)錯(cuò)誤。

      示例:

      public enum TimeofDay:uint

      {

      Morning,

      Afternoon,

      Evening

      }

      Morning的值為0,Afternoon的值為1,Evening的值為2。

    【枚舉和一組預(yù)處理的#define有什么不同】相關(guān)文章:

    枚舉與#define宏的區(qū)別12-17

    西式快餐和中餐有什么不同09-30

    圍棋和其它棋類有什么不同09-04

    昆曲昆劇和昆腔有什么不同09-09

    專插本和本科有什么不同04-04

    開除黨籍和除名有什么不同03-15

    民族唱法和通俗唱法有什么不同09-07

    戀愛和結(jié)婚到底有什么不同08-26

    CAD中外部參照和圖塊有什么不同11-12

    91久久大香伊蕉在人线_国产综合色产在线观看_欧美亚洲人成网站在线观看_亚洲第一无码精品立川理惠

      亚洲欧美中文日韩v在线观看 | 日本女v片一区二区 | 亚洲欧洲精品污网站在线观看 | 色婷婷婷亚洲综合丁香五月 | 欧美视频一区二区 | 亚洲国产初高中生女AV |