国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

4.1 結(jié)構(gòu)類型——枚舉

2019-11-08 19:29:33
字體:
供稿:網(wǎng)友

1.枚舉

枚舉是一種用戶定義的數(shù)據(jù)類型,關(guān)鍵字是 enum,語法是: enum 枚舉類型名字{名字0, … , 名字n};

枚舉類型名字 通常并不真的使用,用的是 大括號(hào)里邊的名字(它們是常量符號(hào),類型是 int,值依次是 0 到 n-1)

enum colors{red, yellow, green};創(chuàng)建了3個(gè)變量,red的值是0,yellow的值是1,green的值是2當(dāng)需要一些可以排列起來的常量值時(shí),定義枚舉的意義就是給這些常量值起個(gè)名字#include<stdio.h>enum COLOR { RED, BLUE, GREEN};int main(int argc, char const *argv[]){ 2.自動(dòng)計(jì)數(shù)的枚舉#include<stdio.h>enum COLOR{ RED, YELLOW, GREEN, ColorNums};int main(int argc, const char *argv[]){ int color = -1; // 枚舉量與數(shù)組下標(biāo)一一對(duì)應(yīng) char *colorNames[ColorNums] = { "red", "yellow", "green" }; char *colorName = NULL; printf("請(qǐng)出入顏色代碼:"); scanf("%d", &color); if(color >= 0 && color < ColorNums){ colorName = colorNames[color]; // 輸入0, 輸出 red } else { colorName = "unknown"; } printf("你輸入的顏色是:%s/n", colorName); return 0;}

3.枚舉只是int

枚舉量可以作為值 enum 枚舉類型 可以作為類型 實(shí)際上內(nèi)部計(jì)算和外部輸入輸出時(shí) 都是 整數(shù)

#include<stdio.h>enum color { red, yellow, green};void f(enum color c);int main(int argc, char const *argv[]){ enum color c = red; printf("請(qǐng)輸入一個(gè)顏色:"); scanf("%d", &c); f(c); return 0;} void f(enum color c){ // 打印輸入的數(shù)字,輸入 0 輸出 0。輸入 5,輸出 5 printf("%d/n", c);}#include<stdio.h>enum COLOR { RED = 1, YELLOW, GREEN = 5, ColorNums};int main(int argc, const char *argv){ enum COLOR color = RED; printf("code for YELLOW is %d/n", YELLOW); // code for YELLOW is 2 printf("color is %d/n", color); // color is 1 printf("ColorNums is %d/n", ColorNums); // ColorNums is 6 return 0; }

4.總結(jié)

有意義上排比的名字,用枚舉比 const int 方便枚舉比宏好,因?yàn)槊杜e有int類型枚舉類型雖然可以當(dāng)做類型使用,但是很少用,不好用
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 元谋县| 河东区| 莎车县| 会同县| 伊金霍洛旗| 曲阳县| 汉中市| 民勤县| 新蔡县| 清水县| 中宁县| 舒兰市| 明水县| 定兴县| 绿春县| 平阳县| 唐海县| 边坝县| 建始县| 肃宁县| 常山县| 南平市| 来安县| 吉隆县| 军事| 长海县| 天长市| 保德县| 铜川市| 小金县| 康马县| 永泰县| 越西县| 安陆市| 尤溪县| 涪陵区| 兴业县| 万源市| 济南市| 兖州市| 通海县|