一文攻破枚举类型-C语言
生活随笔
收集整理的這篇文章主要介紹了
一文攻破枚举类型-C语言
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一文攻破枚舉類型-C語言
1 什么是枚舉類型
枚舉是一個基本的數據類型,它可以讓數據更簡潔。所謂“枚舉”就是指把可能的值一一列舉出來,變量的值只限于列舉出來的值的范圍內。
聲明枚舉類型的一般形式:
enum [枚舉名] {枚舉元素列表};-
枚舉名的命名應遵循標識符的命名規則
enum Weekday {SUN,MON,TUE,WED,THU,FRI,SAT }; enum Weekday workday, weeked;// 不聲明有名字的枚舉類型,直接定義枚舉變量 enum {SUN,MON,TUE,WED,THU,FRI,SAT } workday, weeked;- enum Weekday為枚舉類型
- workday 和 weeked 被定義為枚舉變量
- sun, MON, ......, SAT稱為枚舉元素或枚舉常量
- 枚舉變量 workday和 weeked 的值只能是 SUN 到 SAT 之一
2 枚舉類型的特點
(1)不能在聲明枚舉類型之外的程序中對枚舉常量進行賦值,例如:
enum Weekday {SUN,MON,TUE,WED,THU,FRI,SAT }; SUN = 0; // 錯誤(2)可以在定義枚舉類型時顯式地指定枚舉元素的值,如:
enum Weekday {SUN = 7,MON = 1,TUE,WED,THU,FRI,SAT };-
由于 MON = 1,至此后續枚舉成員的值在前一個成員上加 1,即:
TUE = 2; WED = 3; THU = 4; FRI = 5; SAT = 6;
(3)每一個枚舉元素都代表一個整數,C 語言編譯按定義順序默認它們的值為 0, 1, 2, ......,即:
SUN = 0; MON = 1; TUE = 2; WED = 3; THU = 4; FRI = 5; SAT = 6;// 若 workday = SUN; // 即 workday = 0; printf("%d\n", workday);(4)枚舉元素可以用來判斷比較,例如:
if (workday == MON) ... if (workday > SUN) ...3 示例
#include <stdio.h> #include <stdlib.h>int main() {enum color{orange = 1,apple,pear} favorite_fruit;printf("請輸入你喜歡的水果: (1. orange, 2. apple, 3. pear): ");scanf("%d", &favorite_fruit);// 輸出結果switch (favorite_fruit){case orange:printf("你喜歡的水果是橘子。");break;case apple:printf("你喜歡的水果是蘋果。");break;case pear:printf("你喜歡的水果是梨。");break;default:printf("你沒有選擇你喜歡的水果。");}return 0; }總結
以上是生活随笔為你收集整理的一文攻破枚举类型-C语言的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一文攻破共用体-C语言
- 下一篇: 关闭 VSCode 自动更新