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

C語言枚舉類型詳解

 更新時間:2023年05月19日 08:28:25   作者:Icer_Newer  
這篇文章主要介紹了C語言枚舉類型詳解的相關(guān)資料,需要的朋友可以參考下

1.枚舉類型

1.枚舉數(shù)據(jù)類型是C語言中一種構(gòu)造數(shù)據(jù)類型,可以讓數(shù)據(jù)更加簡潔,更易讀,對于只有幾個特定的數(shù)據(jù),可以使用枚舉類型
2.枚舉對應(yīng)英文enumeration,簡寫為enum
3.枚舉是一組常量的集合,包含一組有限的特定的數(shù)據(jù)
4.枚舉語法的定義格式為

highlighter-

enum 枚舉名 {枚舉元素}

1.1 實例1

使用枚舉表示一個星期

highlighter- Bash

// 傳統(tǒng)方法
#define MON 1;
#define TUE 2;
#define WeD 3;
#define THU 4;
#define FRI 5;
#define SAT 6;
#define SUN 7;

highlighter- Go

#include <stdio.h>
void main() {
	enum DAY
	{
                // 這里DAY 就是枚舉類型, 包含了7個枚舉元素 
                // 沒有賦值,就按照順序給值 0 1 2 3 4 ...
                // 枚舉類型默認(rèn)是從0開始的  
                // 給初始值之后會從初始值遞增
		MON=1, TUE=2, WED=3, THU=4, FRI=5, SAT=6, SUN=7
	}; 
	enum DAY day; // enum DAY  是枚舉類型, day 就是枚舉變量 
	day = WED; //給枚舉變量  day 賦值,值就是某個枚舉元素
	printf("%d",day);// 3 , 每個枚舉元素對應(yīng)一個值
	getchar();
}

1.2 枚舉類型聲明

如同結(jié)構(gòu)體(struct)和共用體(union)一樣,枚舉變量也可用不同的方式說明,即先定義后說明,同時定義說明或直接說明。設(shè)有變量a,b,c被說明為上述的weekday,可采用下述任一種方式:

highlighter- CSS

enum weekday{sun,mon,tue,wed,thu,fri,sat};	//定義枚舉類型
enum weekday a,b,c;                             //定義3個枚舉類型的變量
enum weekday{sun,mon,tue,wed,thu,fri,sat}a,b,c;	//定義枚舉類型的同時,定義3個變量
enum{sun,mon,tue,wed,thu,fri,sat}a,b,c;		//枚舉名可省略,但后面不能再定義新的枚舉變量

1.3 枚舉類型取別名

highlighter- Go

// typeof可以把枚舉類型定義一個別名
typedef enum weekday		//此處的weekday為枚舉名
{
	Mon = 0,
	Tues,
	Wed,
	Thurs,
	Fri,
	Sat,
	Sun
} weekday;				//此處的weekday為enum weekday的別名
weekday today, tomorrow;		//枚舉類型的變量,即enum weekday類型

highlighter- Go

// 枚舉名可以省略
typedef enum 	//省略枚舉名
{
	Mon = 0,
	Tues,
	Wed,
	Thurs,
	Fri,
	Sat,
	Sun
}weekday;				//此處的weekday為枚舉類型的別名
weekday today, tomorrow;		//枚舉類型的變量,即enum weekday類型

highlighter- Go

// typeof使用的時候不可以省略別名
typedef enum 	//省略枚舉名
{
	Mon = 0,
	Tues,
	Wed,
	Thurs,
	Fri,
	Sat,
	Sun
}weekday;				//此處的weekday為枚舉類型的別名
weekday today, tomorrow;		//枚舉類型的變量,即enum weekday類型
  • 不能定義同名的枚舉類型
  • 不能包含同名的枚舉成員

1.4 枚舉類型的遍歷

C 語言中,枚舉類型是被當(dāng)做 int 或者 unsigned int 類型來處理的, 枚 舉類型必須連續(xù)是可以實現(xiàn)有條件的遍歷。以下實例使用 for 來遍歷枚舉的元素。

highlighter- Go

#include <stdio.h>

enum DAY {
      MON=1, TUE, WED, THU, FRI, SAT, SUN //如果沒有給賦值,就會按照順序賦值
} day; // 表示 定義了一個枚舉類型 enum Day ,同時定義了一個變量 day(類型是 enum DAY)


int main() {
	
	// 遍歷枚舉元素, 枚舉的每個元素都對應(yīng)數(shù)值
	//day++ 會給出警告,但是可以運行
	for (day = MON; day <= SUN; day++) { //SUN = 7
		printf("枚舉元素:%d \n", day); // 1, 2, 3, 4,5,6,7
	}
	//day = FRI;
	//printf("%d", day); // 10
	getchar();
	return 0;

}

1.5 枚舉類型在switch中的應(yīng)用

highlighter- Bash

#include <stdio.h>

void  main() { 
    enum SEASONS {SPRING=1, SUMMER, AUTUMN, WINTER}; //定義枚舉類型  enum SEASONS   
    enum SEASONS season;//定義了一個枚舉類型變量 season(類型 enum SEASONS )
    printf("請輸入你喜歡的季節(jié): (1. spring, 2. summer, 3. autumn 4 winter): ");
    scanf("%d", &season);
    switch (season) {
    case SPRING:
        printf("你喜歡的季節(jié)是春天");
        break;
    case SUMMER:
        printf("你喜歡的季節(jié)是夏天");
        break;
    case AUTUMN:
        printf("你喜歡的季節(jié)是秋天");
        break;
    case WINTER:
        printf("你喜歡的季節(jié)是冬天");
        break;
    default:
        printf("你沒有選擇你喜歡的季節(jié)");
    }
    getchar();
    getchar();
  
}

到此這篇關(guān)于C語言枚舉類型詳解的文章就介紹到這了,更多相關(guān)C語言枚舉類型內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 盤點分析C語言中少見卻強(qiáng)大的字符串函數(shù)

    盤點分析C語言中少見卻強(qiáng)大的字符串函數(shù)

    這篇文章主要為大家盤點及分析C語言中少見卻強(qiáng)大的字符串函數(shù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-02-02
  • C++?Boost?Spirit進(jìn)階教程

    C++?Boost?Spirit進(jìn)階教程

    Boost是為C++語言標(biāo)準(zhǔn)庫提供擴(kuò)展的一些C++程序庫的總稱。Boost庫是一個可移植、提供源代碼的C++庫,作為標(biāo)準(zhǔn)庫的后備,是C++標(biāo)準(zhǔn)化進(jìn)程的開發(fā)引擎之一,是為C++語言標(biāo)準(zhǔn)庫提供擴(kuò)展的一些C++程序庫的總稱
    2022-11-11
  • C++常用字符串分割方法實例匯總

    C++常用字符串分割方法實例匯總

    這篇文章主要介紹了C++常用字符串分割方法實例匯總,包括了strtok函數(shù)、STL、Boost等常用的各類字符串分割方法,非常具有實用價值,需要的朋友可以參考下
    2014-10-10
  • C++11引入的STL中的unordered系列關(guān)聯(lián)式容器

    C++11引入的STL中的unordered系列關(guān)聯(lián)式容器

    STL中的unordered系列容器是C++11引入的基于哈希表實現(xiàn)的關(guān)聯(lián)式容器,STL unordered系列容器基于哈希表,支持快速查找但遍歷效率低,適用于無序場景;樹形容器基于紅黑樹,有序且性能穩(wěn)定,適用于需要有序的場景
    2025-10-10
  • C語言實現(xiàn)財務(wù)管理系統(tǒng)

    C語言實現(xiàn)財務(wù)管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)財務(wù)管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • C語言大小端格式舉例詳解

    C語言大小端格式舉例詳解

    大小端是嵌入式C語言中一個重要的概念,它涉及到多字節(jié)數(shù)據(jù)在內(nèi)存中的存儲順序,下面這篇文章主要介紹了C語言大小端格式的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-12-12
  • 淺談分詞器Tokenizer

    淺談分詞器Tokenizer

    分詞器的工作就是分解文本流成詞(tokens).在這個文本中,每一個token都是這些字符的一個子序列。一個分析器(analyzer)必須知道它所配置的字段,但是tokenizer不需要,分詞器(tokenizer)從一個字符流(reader)讀取數(shù)據(jù),生成一個Token對象(TokenStream)的序列
    2021-06-06
  • 深入C/C++浮點數(shù)在內(nèi)存中的存儲方式詳解

    深入C/C++浮點數(shù)在內(nèi)存中的存儲方式詳解

    本篇文章是對C/C++浮點數(shù)在內(nèi)存中的存儲方式進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • QT中QByteArray與char、int、float之間的互相轉(zhuǎn)化

    QT中QByteArray與char、int、float之間的互相轉(zhuǎn)化

    本文主要介紹了QT中QByteArray與char、int、float之間的互相轉(zhuǎn)化,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • C++中點操作符和箭頭操作符的使用詳解

    C++中點操作符和箭頭操作符的使用詳解

    本篇文章介紹了,C++中點操作符和箭頭操作符的使用詳解。需要的朋友參考下
    2013-05-05

最新評論

茶陵县| 黑水县| 法库县| 莆田市| 迁安市| 关岭| 颍上县| 年辖:市辖区| 建德市| 河西区| 长乐市| 丰城市| 常德市| 侯马市| 同心县| 梅州市| 溧阳市| 辰溪县| 叶城县| 巴彦县| 昌都县| 和田市| 临洮县| 山西省| 九江市| 洪泽县| 万源市| 年辖:市辖区| 赤水市| 盘锦市| 仙桃市| 白河县| 连江县| 华亭县| 香河县| 中超| 营山县| 诸暨市| 南丹县| 凤阳县| 东海县|