目录
枚举的定义
enum name //enum是枚举关键字,name为这个枚举类型的名称
{
enum_member; //这里面创建枚举常量
}global_enum; //global_enum为全局的枚举常量
枚举的优点
相对于#define定义的常量,枚举有哪些不同?
枚举的优点:
1. 增加代码的可读性和可维护性
2. 和#define定义的标识符比较枚举有类型检查,更加严谨
enum num
{
x,
};
int main()
{
enum num a = x;
enum num a = 1;//在vs的c中对类型的检查不严格,这么赋值不会报错
printf("%d", a);
return 0;
}
在c++中类型检查,更加的严格了
3. 防止了命名污染(封装)
4. 便于调试
enum num
{
x,
y,
z
};
#define a 0
int main()
{
printf("%d", x);
printf("%d", a);
return 0;
}
运行之前,编译器会进行
预处理 编译 汇编 链接
#define的数据会在预处理阶段将a变成0,这样在调试时候,就看不到a,而是0了
5. 使用方便,一次可以定义多个常量
枚举的使用
enum num
{
x,
y,
z
};
假如不给枚举常量初始化,那么它将从0开始向后延伸,x为0,y为1,z为2
enum num
{
x = 2,
y,
z
};
假如初始化了,那么x为2,y为3,z为4