C语言中如何定义和使用枚举类型?

更新于
2026-10-10 05:12:28
1阅读来源:SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1012个文字,预计阅读时间需要5分钟。

C语言中如何定义和使用枚举类型?

前言:在我们的日常练习或学习时刻,某些概念可能并不常见,但在工程项目中却相对常见,因为它们能起到优化作用。有时,我们在命题时也会运用到这些枚举的思想。

前言

枚举在我们平时练习或学习的时候可能不是很常用,但是其在工程项目里,还是比较常见的,因为他能起到优化用。并且,有时我们在写题的时候,也会运用到枚举的思想。

枚举的介绍

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

C语言中如何定义和使用枚举类型?

比如我们现实生活中: 1.一个星期从星期一到星期天的有限的7天可以 一 一 列举。 2.月份从1月到12月也可以 一 一 列举出来。 3.颜色分红黄蓝绿蓝靛紫几种颜色,也可以 一 一 列举出来。

枚举类型的定义

直接上代码(注意观察语法形式):

// enum var_name 这个就是枚举类型 enum Sex // 枚举性别 { MAN, // 男人 WOMAN // 女人 // 当然也有可能是人妖 }; enum Day // 枚举星期 { Mon, // 注意这里是逗号 Tues, Wed, Thur, Fri, Sat, Sun // 最后一个后面什么符号也不用打 }; // 这里必须要有分号 enum Color { RED, GREEN, BLUE };

当然,既然是类型,那么也可以使用typedef起别名:

typedef enum Color { RED, GREEN, BLUE }Clr; // 将 enum Color 类型名 简化成 Clr

1.以上定义的enum Day,enum Sex,enum Color都是枚举类型。

2.{}中的内容是枚举类型的可能取值,也叫枚举常量。

3.这些可能取值都是有值的,默认从0开始,依次递增1,例如:上面的RED可以看作0,GREEN可以看作1,BLUE可以看作2。

4.当然在定义的时候也可以赋初值。例如:

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

而如果是这样赋值:

enum Day // 枚举星期 { Mon, Tues, Wed, Thur = 10, Fri, Sat, Sun };

  • 那也就意味着从Mon到Wed是由0开始依次递增(Mon = 0, Tuse = 1, Wed = 2),从Thur到Sun是由10开始依次递增(Thur = 10, Fri = 11, Sat = 12, Sun = 13)。

枚举的优点

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

原因:

  1. 增加代码的可读性和可维护性。
  2. 和#define定义的标识符比较枚举有类型检查,更加严谨。
  3. 防止了命名污染(封装)。
  4. 便于调试。
  5. 使用方便,一次可以定义多个常量。
  • 我们可以去看很多项目的源码,会发现,里面很多用枚举来定义常量。

枚举的使用

enum Color//颜色 { RED = 1, GREEN = 2, BLUE = 4 }; // 只能拿枚举常量给枚举变量赋值,才不会出现类型的差异。 enum Color clr = GREEN; clr = 5;

写在最后

虽然在现在阶段我们很难体会到枚举的好处,但是我们可以多去看看别人的代码,多去领悟一下枚举到底有什么用?这样我们使用起来也才会得心应手。

感谢阅读本小白的博客,错误的地方请严厉指出噢!

本文共计1012个文字,预计阅读时间需要5分钟。

C语言中如何定义和使用枚举类型?

前言:在我们的日常练习或学习时刻,某些概念可能并不常见,但在工程项目中却相对常见,因为它们能起到优化作用。有时,我们在命题时也会运用到这些枚举的思想。

前言

枚举在我们平时练习或学习的时候可能不是很常用,但是其在工程项目里,还是比较常见的,因为他能起到优化用。并且,有时我们在写题的时候,也会运用到枚举的思想。

枚举的介绍

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

C语言中如何定义和使用枚举类型?

比如我们现实生活中: 1.一个星期从星期一到星期天的有限的7天可以 一 一 列举。 2.月份从1月到12月也可以 一 一 列举出来。 3.颜色分红黄蓝绿蓝靛紫几种颜色,也可以 一 一 列举出来。

枚举类型的定义

直接上代码(注意观察语法形式):

// enum var_name 这个就是枚举类型 enum Sex // 枚举性别 { MAN, // 男人 WOMAN // 女人 // 当然也有可能是人妖 }; enum Day // 枚举星期 { Mon, // 注意这里是逗号 Tues, Wed, Thur, Fri, Sat, Sun // 最后一个后面什么符号也不用打 }; // 这里必须要有分号 enum Color { RED, GREEN, BLUE };

当然,既然是类型,那么也可以使用typedef起别名:

typedef enum Color { RED, GREEN, BLUE }Clr; // 将 enum Color 类型名 简化成 Clr

1.以上定义的enum Day,enum Sex,enum Color都是枚举类型。

2.{}中的内容是枚举类型的可能取值,也叫枚举常量。

3.这些可能取值都是有值的,默认从0开始,依次递增1,例如:上面的RED可以看作0,GREEN可以看作1,BLUE可以看作2。

4.当然在定义的时候也可以赋初值。例如:

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

而如果是这样赋值:

enum Day // 枚举星期 { Mon, Tues, Wed, Thur = 10, Fri, Sat, Sun };

  • 那也就意味着从Mon到Wed是由0开始依次递增(Mon = 0, Tuse = 1, Wed = 2),从Thur到Sun是由10开始依次递增(Thur = 10, Fri = 11, Sat = 12, Sun = 13)。

枚举的优点

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

原因:

  1. 增加代码的可读性和可维护性。
  2. 和#define定义的标识符比较枚举有类型检查,更加严谨。
  3. 防止了命名污染(封装)。
  4. 便于调试。
  5. 使用方便,一次可以定义多个常量。
  • 我们可以去看很多项目的源码,会发现,里面很多用枚举来定义常量。

枚举的使用

enum Color//颜色 { RED = 1, GREEN = 2, BLUE = 4 }; // 只能拿枚举常量给枚举变量赋值,才不会出现类型的差异。 enum Color clr = GREEN; clr = 5;

写在最后

虽然在现在阶段我们很难体会到枚举的好处,但是我们可以多去看看别人的代码,多去领悟一下枚举到底有什么用?这样我们使用起来也才会得心应手。

感谢阅读本小白的博客,错误的地方请严厉指出噢!