最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言數(shù)據(jù)類型枚舉enum全面詳解示例教程

 更新時間:2021年10月22日 15:07:02   作者:高郵吳少  
生活中有很多地方會用到枚舉,比如一周有7天,可以一一枚舉;性別有男、女...等等都可以可以一一枚舉,今天來和筆者一起學習一下c語言枚舉吧

一、枚舉類型的定義

enum Day//enum Day是一種類型
{
	Mon,//周一到周日這些叫枚舉的可能取值,也叫枚舉常量
	Tue,
	Wed,
	Thur,
	Fri,
	Sat,
	Sun,
};

上述代碼定義的enum Day是一種枚舉類型,{}中內容是枚舉類型的可能取值,也可叫作枚舉常量。
這些枚舉常量都是有值的,默認從0開始,依次往后遞增1,如果你愿意賦值也是可以的。

代碼如下:

#include<stdio.h>
enum Color//enum Color是一種類型
{
	red,
	green,
	blue
};
int main()
{
	printf("%d\n", red);
	printf("%d\n", green);
	printf("%d\n", blue);
}

不賦初值打印0, 1,2

在這里插入圖片描述

#include<stdio.h>
enum Color//enum Color是一種類型
{
	red=2,
	green,
	blue=6
};
int main()
{
	printf("%d\n", red);
	printf("%d\n", green);
	printf("%d\n", blue);
}

賦初值后打印初值內容,如果你有一個沒有賦值,會緊接上一個賦值內容+1
這里green并沒有賦值,但我們知道red是2,按照枚舉規(guī)則,green會在red的基礎上加1變成3,注意,blue是有賦值的,所以blue不需要在green的基礎上加1,blue就是6

在這里插入圖片描述

注意:因為是枚舉{}內的叫作枚舉常量,常量是不能改的,比如你在main函數(shù)里進行賦值操作,red=9;這個鐵鐵的會報錯,一定要區(qū)分枚舉初始化和賦值的區(qū)別。

二、枚舉類型的使用

2.1創(chuàng)建變量

我們前面說過,enum Day、enum Color這種叫作枚舉類型,既然它是類型,它就可以創(chuàng)建變量,

代碼如下:

#include<stdio.h>
enum Color//enum Color是一種類型
{
	red,
	green,
	blue
};
int main()
{
	enum Color a = 1;
	enum Color b = green;
}

我們用枚舉類型創(chuàng)建了變量a和b,這里需要注意的是,把1賦給a,在c語言環(huán)境下編譯器不會報錯,但c++下就會出現(xiàn)問題,編譯器會認為1是一個整形,你賦給一個枚舉類型顯然是有問題的。所以我們這里最好把枚舉可能取值賦給枚舉變量。

2.2一些優(yōu)點

到這里大家可能會有一些疑惑,我們可以用#define來定義常量,為什么要用枚舉呢?我們來看一下它們的區(qū)別:

代碼如下(示例):

#define red 2
#define green 4
#define blue 8

enum Color
{
	Red,
	Green,
	Blue
};

首先由2.1知,c++環(huán)境下,枚舉類型會對其他類型的賦值進行警告,而#define定義的常量是沒有類型的;

第二就是防止命名污染,舉個栗子:#define red 2,這是全局范圍命名red為2,那假如你其他地方用到2這個數(shù)字,到時候到底是2本身還是red的意思?而枚舉定義的red是枚舉類型的一個可能取值,不會影響到其他數(shù)據(jù);

第三,枚舉是可以調試的,調試的過程中你大可輸入枚舉類型創(chuàng)建的變量,但是#define red 2這種,red如果在代碼中會被自動替換為2,你無法用red進行監(jiān)視
第四,就是可以一次定義多個枚舉常量

總結

今天我們學完了枚舉的相關定義,枚舉類型的使用以及枚舉相對于#define定義的區(qū)別,下一期筆者還會繼續(xù)更新C語言聯(lián)合(共用體相關知識),期待你的關注,預祝讀者學習愉快!更多關于C語言enum枚舉數(shù)據(jù)類型的資料請關注腳本之家其它相關文章!

相關文章

  • Qt 使用Poppler實現(xiàn)pdf閱讀器的示例代碼

    Qt 使用Poppler實現(xiàn)pdf閱讀器的示例代碼

    下面小編就為大家分享一篇Qt 使用Poppler實現(xiàn)pdf閱讀器的示例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • 淺析c++中new和delete的用法

    淺析c++中new和delete的用法

    以下是對c++中new和delete的用法進行了詳細的分析介紹,需要的朋友可以過來參考下
    2013-09-09
  • 基于C++中常見編譯錯誤的總結詳解

    基于C++中常見編譯錯誤的總結詳解

    本篇文章是對C++中的常見編譯錯誤進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C語言超細致講解函數(shù)遞歸

    C語言超細致講解函數(shù)遞歸

    程序調???的編程技巧稱為遞歸?recursion)函數(shù)??調???就是遞歸,你也可以理解成是?種嵌套結構,但遞歸分為倆部分,第?是“遞”,進?嵌套結構。第?是”歸“,最終會?步?步返回。第?次接觸遞歸都會很懵,慢慢理解這個過程就明?了
    2022-05-05
  • VSCode配置C語言環(huán)境的方法

    VSCode配置C語言環(huán)境的方法

    這篇文章主要介紹了VSCode配置C語言環(huán)境的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • QT?.pro文件使用解析

    QT?.pro文件使用解析

    QT工程的pro文件,在創(chuàng)建工程時由QTCreater自動創(chuàng)建,我們可以往里面添加內容,增加庫文件的聲明,包含路徑、預處理器定義,生成目錄,輸出中間目錄等等設置,本文就來介紹一下
    2022-04-04
  • C++類與對象深入之構造函數(shù)與析構函數(shù)詳解

    C++類與對象深入之構造函數(shù)與析構函數(shù)詳解

    朋友們好,這篇播客我們繼續(xù)C++的初階學習,現(xiàn)在對我們對C++非常重要的一個知識點做出總結,整理出來一篇博客供我們一起復習和學習,如果文章中有理解不當?shù)牡胤?還希望朋友們在評論區(qū)指出,我們相互學習,共同進步
    2022-06-06
  • C語言中的自定義類型之結構體與枚舉和聯(lián)合詳解

    C語言中的自定義類型之結構體與枚舉和聯(lián)合詳解

    今天我們來學習一下自定義類型,自定義類型包括結構體、枚舉、聯(lián)合體,小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考
    2022-06-06
  • C語言typedef與復雜函數(shù)聲明問題的深入解析

    C語言typedef與復雜函數(shù)聲明問題的深入解析

    以下是對C語言中的typedef與復雜函數(shù)聲明問題進行了詳細的分析介紹,需要的朋友可以過來參考下
    2013-07-07
  • QT的QWebEngineView類知識點詳細介紹

    QT的QWebEngineView類知識點詳細介紹

    QWebEngineView是Qt框架中的組件,基于Chromium內核,支持HTML5、CSS3、JavaScript等Web技術,適用于嵌入網(wǎng)頁內容到Qt應用程序,它提供了豐富的接口如加載、導航、與JavaScript交互等,并支持信號槽機制處理各種網(wǎng)頁事件,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-10-10

最新評論

洱源县| 海伦市| 汝阳县| 胶南市| 读书| 门源| 商南县| 璧山县| 威海市| 岳西县| 许昌县| 综艺| 云阳县| 苏尼特左旗| 镇安县| 甘南县| 古蔺县| 霸州市| 兴仁县| 宜兴市| 南昌县| 泸州市| 汕尾市| 镇沅| 永嘉县| 延长县| 铜山县| 张北县| 建德市| 苏州市| 沙河市| 图木舒克市| 黄浦区| 彰武县| 平谷区| 册亨县| 宿州市| 林口县| 三穗县| 桦南县| 都江堰市|