【C語言】--列舉的定義和輸出詳解
阿新 • • 發佈:2019-02-11
在C語言中,定義常量有三種方式
a)、 #define N 5 (巨集定義) 它的作用就是 直接替換。而且是在預處理語句中
b) 、 const int = 8 這個是定義常量的常規操作 編譯器通常不為普通const常量分配儲存空間,而是將它們儲存在符號表中,具有不可變性 提高了效率
c) 、 enum 名字 {ONE=?(直接賦值就是給初始化) ,TWO ,THREE.......}p; (這個p是可以寫也可以不寫 是給列舉重新命名 後面好使用)
列舉如果你不初始化的話,它預設從第一個元素到最後一個元素 依次為0 1 2 3 4 5.。。。。。n
最標準的結構應該是這樣 :
enum 列舉名{識別符號[=整型常數],識別符號[=整型常數],...識別符號[=整型常數]} 列舉變數;那麼如何輸出列舉值和列舉子呢?
1 輸出列舉值
我們先看一個簡單的,輸出列舉值,其實非常簡單以整數形式輸出即可,如下:
printf("%d\n",ONE); //它的輸出結果會為0
2 輸出列舉子
這裡有個很大的誤區,很多人會根據上面的輸出聯想到下面的方法:
printf("%s\n", (p)1); //error 這是錯誤的 列舉可以直接列印 。它就相當於巨集定義一般 是直接替換的
3 舉例輸出
#include<stdio.h> enum opt{ ONE,TWO,THREE,FOUR,FIVE,SIX,SEVEN }op; int main(void){ printf("%d\n",ONE); printf("%d\n",TWO); printf("%d\n",SIX); return 0; }