国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

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

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

C語言數據類型枚舉enum全面詳解示例教程

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

生活中有很多地方會用到枚舉,比如一周有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

C語言數據類型枚舉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);
}

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

C語言數據類型枚舉enum全面詳解示例教程

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

 

二、枚舉類型的使用

2.1創建變量

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

代碼如下:

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

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

2.2一些優點

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

代碼如下(示例):

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

enum Color
{
	Red,
	Green,
	Blue
};

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

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

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

 

總結

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

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

延伸 · 閱讀

精彩推薦
  • C/C++學習C++編程的必備軟件

    學習C++編程的必備軟件

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

    謝恩銘10102021-05-08
  • C/C++C語言實現電腦關機程序

    C語言實現電腦關機程序

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

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

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

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

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

    深入理解goto語句的替代實現方式分析

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

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

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

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

    spring-go5642021-07-02
  • C/C++c++ 單線程實現同時監聽多個端口

    c++ 單線程實現同時監聽多個端口

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

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

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

    內存中的數據都是暫時的,當程序結束時,它們都將丟失,為了永久性的保存大量的數據,C語言提供了對文件的操作,這篇文章主要給大家介紹了關于C語言中文件...

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

    C/C++經典實例之模擬計算器示例代碼

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

    jia150610152021-06-07
主站蜘蛛池模板: 色吧网站| 国产一区二区免费 | 国产成人精品综合 | 欧美日韩在线播放 | 久久中文字幕一区二区三区 | 永久看片| 午夜影院在线观看 | 久久久av亚洲男天堂 | 国产目拍亚洲精品99久久精品 | 久久这里只有国产精品 | 人人澡人人爽 | 国产精品资源在线观看 | 亚洲国产人午在线一二区 | 在线观看三级网站 | 国产黄色免费网站 | 成人网在线视频 | 黄网站在线观看 | 日本久久精品 | 狠狠综合久久 | 亚洲精品www久久久久久广东 | 国产一级小视频 | 五月激情综合网 | 欧美日韩在线免费观看 | 欧美在线视频a | 在线观看免费黄视频 | 在线国产一区二区 | 国产伦精品一区二区三区四区视频_ | 一级a性色生活片毛片 | 亚洲日韩中文字幕一区 | 成人精品久久久 | 亚洲精品一区在线观看 | 伊人精品在线 | 欧美三级视频 | 免费在线成人网 | 免费的黄色一级片 | 九九只有精品 | 四虎影院在线免费播放 | 国产目拍亚洲精品99久久精品 | 国产精品亚洲一区二区三区在线 | 久草在线视频免费播放 | 伊人激情 |