在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;
}