【C语言】为什么建议使用枚举而不是#define?

1. 介绍

枚举顾名思义就是一一列举,把可能的取值一一列举。

比如我们现实生活中:

  1. 一周的星期一到星期日是有限的7天
  2. 性别有:男、女、保密
  3. 月份有12个月

2. 枚举的定义和使用

 enum Day//星期
{
	Mon,
	Tues,
	Wed,
	Thur,
	Fri,
	Sat,
	Sun
};
enum Sex//性别
{
	MALE,
	FEMALE,
	SECRET
};
enum Color//颜色
{
	RED,
	GREEN,
	BLUE
};

int main() {
	enum Color clr = GREEN;
	return 0;
}

以上定义的 enum Day , enum Sex , enum Color 都是枚举类型。{}中的内容是枚举类型的可能取值,也叫枚举常量

这些可能取值都是有值的,默认从0开始,一次递增1,当然在定义的时候也可以赋初值。

enum Color //颜色
{
	RED=1,
	GREEN=2,
	BLUE=4
};

3. 枚举的优点

我们可以使用 #define 定义常量,为什么非要使用枚举?

枚举的优点:

  1. 增加代码的可读性和可维护性
  2. 和#define定义的标识符比较枚举有类型检查,更加严谨;
  3. 防止了命名污染(封装);
  4. 便于调试,#define定义的常量不方便调试;
  5. 使用方便,一次可以定义多个常量。

你可能感兴趣的:(C语言,c语言)