枚举是干嘛的
- 枚举在C语言中其实是一些符号常量。直白点说:枚举定义了一些符号,这些符号的本质就是int类型的常量,每个符号和一个常量绑定,这个符号就表示了一个自定义的一个识别码,编译器对枚举的认知就是符号常量所绑定的那个int类型的数字。
- 枚举常量和其对应的常量数字相对来说,数字不重要,符号才重要。符号对应的数字只要彼此不相同即可,没有别的要求。所以一般情况下我们都不明确指定这个符号所对应的数字,而让编译器自动分配。(从0开始一次增加,如果用户自己指定了一个值,则从那个值开始往后依次增加)
C语言为何需要枚举
- 使用枚举就是对1、0这些数字机型符号化编码,这样的好处就是编程时可以不用看数字二直接看符号。符号的意义可以一眼看出。
宏定义和枚举的区别
- 枚举是将多个有关联的符号封装在一个枚举中,而宏定义是散的。
- 当我们要定义的常量是一个有限集合时(一星期有七天),最适合用枚举。
- 不能用枚举的情况下用宏定义(定义的符号常量之间无关联,或者无限的)用宏定义
enum DAY
{
MON=1, TUE, WED, THU, FRI, SAT, SUN
};
···**