一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - C/C++ - C語言數(shù)據(jù)類型枚舉enum全面詳解示例教程

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

2022-02-13 16:05高郵吳少 C/C++

生活中有很多地方會用到枚舉,比如一周有7天,可以一一枚舉;性別有男、女...等等都可以可以一一枚舉,今天來和筆者一起學(xué)習(xí)一下c語言枚舉吧

一、枚舉類型的定義

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

上述代碼定義的enum Day是一種枚舉類型,{}中內(nèi)容是枚舉類型的可能取值,也可叫作枚舉常量。
這些枚舉常量都是有值的,默認(rèn)從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

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

#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);
}

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

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

注意:因為是枚舉{}內(nèi)的叫作枚舉常量,常量是不能改的,比如你在main函數(shù)里進(jìn)行賦值操作,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)問題,編譯器會認(rèn)為1是一個整形,你賦給一個枚舉類型顯然是有問題的。所以我們這里最好把枚舉可能取值賦給枚舉變量。

2.2一些優(yōu)點(diǎn)

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

代碼如下(示例):

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

enum Color
{
	Red,
	Green,
	Blue
};

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

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

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

 

總結(jié)

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

原文鏈接:https://blog.csdn.net/m0_57180439/article/details/120406303

延伸 · 閱讀

精彩推薦
  • C/C++學(xué)習(xí)C++編程的必備軟件

    學(xué)習(xí)C++編程的必備軟件

    本文給大家分享的是作者在學(xué)習(xí)使用C++進(jìn)行編程的時候所用到的一些常用的軟件,這里推薦給大家...

    謝恩銘10102021-05-08
  • C/C++C語言實現(xiàn)電腦關(guān)機(jī)程序

    C語言實現(xiàn)電腦關(guān)機(jī)程序

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)電腦關(guān)機(jī)程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    xiaocaidayong8482021-08-20
  • C/C++C++之重載 重定義與重寫用法詳解

    C++之重載 重定義與重寫用法詳解

    這篇文章主要介紹了C++之重載 重定義與重寫用法詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下...

    青山的青6062022-01-04
  • C/C++深入理解goto語句的替代實現(xiàn)方式分析

    深入理解goto語句的替代實現(xiàn)方式分析

    本篇文章是對goto語句的替代實現(xiàn)方式進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下...

    C語言教程網(wǎng)7342020-12-03
  • C/C++詳解c語言中的 strcpy和strncpy字符串函數(shù)使用

    詳解c語言中的 strcpy和strncpy字符串函數(shù)使用

    strcpy 和strcnpy函數(shù)是字符串復(fù)制函數(shù)。接下來通過本文給大家介紹c語言中的strcpy和strncpy字符串函數(shù)使用,感興趣的朋友跟隨小編要求看看吧...

    spring-go5642021-07-02
  • C/C++c++ 單線程實現(xiàn)同時監(jiān)聽多個端口

    c++ 單線程實現(xiàn)同時監(jiān)聽多個端口

    這篇文章主要介紹了c++ 單線程實現(xiàn)同時監(jiān)聽多個端口的方法,幫助大家更好的理解和學(xué)習(xí)使用c++,感興趣的朋友可以了解下...

    源之緣11542021-10-27
  • C/C++C語言中炫酷的文件操作實例詳解

    C語言中炫酷的文件操作實例詳解

    內(nèi)存中的數(shù)據(jù)都是暫時的,當(dāng)程序結(jié)束時,它們都將丟失,為了永久性的保存大量的數(shù)據(jù),C語言提供了對文件的操作,這篇文章主要給大家介紹了關(guān)于C語言中文件...

    針眼_6702022-01-24
  • C/C++C/C++經(jīng)典實例之模擬計算器示例代碼

    C/C++經(jīng)典實例之模擬計算器示例代碼

    最近在看到的一個需求,本以為比較簡單,但花了不少時間,所以下面這篇文章主要給大家介紹了關(guān)于C/C++經(jīng)典實例之模擬計算器的相關(guān)資料,文中通過示...

    jia150610152021-06-07
主站蜘蛛池模板: 9久re热视频这里只有精品 | yellow最新视频2019 | 久久久影院亚洲精品 | 亚洲国产精品综合久久一线 | 艾秋麻豆果冻传媒老狼仙踪林 | 女同xx美女放 | 国产91页| 国产婷婷综合丁香亚洲欧洲 | 四虎麻豆 | 晚上禁用的十大黄台视频 | 果冻传媒和91制片厂网站软件 | 免费抽搐一进一出印度 | 涩色爱 | 九九九九在线精品免费视频 | 成人免费国产欧美日韩你懂的 | 四虎影免看黄 | www.毛片网站 | 99久久九九 | 欧美vpswindows动物 | 男女xxoo做爰猛烈动态一 | 5x社区发源地最新地址 | 牛牛色婷婷在线视频播放 | 国产精品久久久久久久免费大片 | 亚洲精品免费在线 | 欧美成人精品福利在线视频 | 无码一区国产欧美在线资源 | 亚欧洲乱码专区视频 | 四虎影视在线影院在线观看 | 成人在线一区二区三区 | 日本www色视频成人免费 | 国产精品色图 | 成年人网站免费在线观看 | 久久久久久久国产精品视频 | youwu在线影院| 国产在线观看精品香蕉v区 国产在线观看a | 无人区尖叫之夜美女姐姐视频 | 99久久无色码中文字幕 | 欧美人与禽交片在线播放 | yellow视频免费观看播放 | 成人免费视频播放 | 亚洲va欧美va国产va天堂影 |