亚洲区国产区激情区无码区,国产成人mv视频在线观看,国产A毛片AAAAAA,亚洲精品国产首次亮相在线

C 語(yǔ)言基礎(chǔ)教程

C 語(yǔ)言流程控制

C 語(yǔ)言函數(shù)

C 語(yǔ)言數(shù)組

C 語(yǔ)言指針

C 語(yǔ)言字符串

C 語(yǔ)言結(jié)構(gòu)體

C 語(yǔ)言文件

C 其他

C 語(yǔ)言參考手冊(cè)

C 語(yǔ)言枚舉(enum)

在本教程中,您將借助示例學(xué)習(xí)C語(yǔ)言編程中的enum(枚舉)。

在C語(yǔ)言編程中,枚舉類型(也稱為enum)是由整數(shù)常量組成的數(shù)據(jù)類型。要定義枚舉,將使用enum關(guān)鍵字。

enum flag {const1, const2, ..., constN};

默認(rèn)情況下const1為0,const2為1,依此類推。您可以在聲明期間更改枚舉元素的默認(rèn)值(如有必要)。

//更改枚舉常量的默認(rèn)值
enum suit {
    club = 0,
    diamonds = 10,
    hearts = 20,
    spades = 3,
};

枚舉類型聲明

定義enum類型時(shí),將創(chuàng)建變量的藍(lán)圖。下面介紹如何創(chuàng)建枚舉類型的變量。

enum boolean {false, true};
enum boolean check; // 聲明一個(gè)枚舉變量

在此,將創(chuàng)建enum boolean類型的變量check。

您也可以像這樣聲明枚舉變量。

enum boolean {false, true} check;

在此,false的值等于0,true的值等于1。

示例:枚舉類型

#include <stdio.h>

enum week {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday};

int main()
{
    //創(chuàng)建枚舉week類型的today變量
    enum week today;
    today = Wednesday;
    printf("Day %d",today+1);
    return 0;
}

輸出結(jié)果

Day 4

為什么使用枚舉?

枚舉變量只能采用一個(gè)值。這是一個(gè)示范的實(shí)例,

#include <stdio.h>

enum suit {
    club = 0,
    diamonds = 10,
    hearts = 20,
    spades = 3
} card;

int main() 
{
    card = club;
	printf("枚舉變量的大小 = %d bytes", sizeof(card));	
	return 0;
}

輸出結(jié)果

枚舉變量的大小 = 4 bytes

這里,我們得到4,因?yàn)閕nt的大小是4個(gè)字節(jié)。

如何將枚舉用于標(biāo)志?

讓我們舉個(gè)實(shí)例

enum designFlags {
	ITALICS = 1,
	BOLD = 2,
	UNDERLINE = 4
} button;

假設(shè)您正在設(shè)計(jì)Windows應(yīng)用程序的按鈕。 您可以設(shè)置標(biāo)志ITALICS,BOLD和UNDERLINE來(lái)處理文本。

在上面的偽代碼中,所有的積分常數(shù)都是2的冪是有原因的。

//用二進(jìn)制

ITALICS = 00000001
BOLD = 00000010
UNDERLINE = 00000100

由于積分常數(shù)是2的冪次,因此可以一次性合并兩個(gè)或多個(gè)標(biāo)志,而不用使用按位OR |運(yùn)算符進(jìn)行重疊。這允許您一次選擇兩個(gè)或多個(gè)標(biāo)志。例如,

#include <stdio.h>

enum designFlags {
	BOLD = 1,
	ITALICS = 2,
	UNDERLINE = 4
};

int main() {
	int myDesign = BOLD | UNDERLINE; 

        //    00000001
        //  | 00000100
        //  ___________
        //    00000101

	printf("%d", myDesign);

	return 0;
}

輸出結(jié)果

5

當(dāng)輸出為5時(shí),您始終知道使用了粗體和下劃線。

另外,您可以根據(jù)需要添加標(biāo)志。

if (myDesign & ITALICS) {
    //斜體
}

在這里,我們?cè)谠O(shè)計(jì)中添加了斜體。注意,if語(yǔ)句內(nèi)部?jī)H編寫斜體代碼。

您無(wú)需使用枚舉就可以在C語(yǔ)言編程中完成幾乎所有任務(wù)。但是,它們?cè)谀承┣闆r下可能非常方便。