网址
分类
通识
状态
已完成
标签
电脑使用
自主学习
用途
类型
上次编辑时间
May 28, 2025 08:34 AM
作者
上级 项目
子级 项目
来自:
联系方式:(可选)

声明符号名称来表示整型常量(enum常量是int类型)。其目的是增加程序可读性

初始化

e.g.
其中,red、yellow等称为枚举符(enum常量)。 在C中,枚举变量可以使用++运算符,但是C++不允许,若代码要并入C++,必须把枚举变量声明为int

enum常量

默认值

如上文例,red == 0,orange == 1。只要是能用整型变量的地方就可以用枚举常量。在默认情况下,枚举列表的常量按照顺序被赋予0、1、2等

赋值

在枚举声明中,可以为枚举常量指定整数值:
如果只给一个枚举常量赋值,没有对后面的枚举常量赋值,那么后面的常量会被赋予后续的值。例 如,假设有如下的声明:
那么,cat的值是0(默认),lynx、puma和tiger的值分别是10、11、12。

使用

枚举类型只能在内部使用。如果要输入color中orange的值,只能输入1,而不是单词orange。或者,让程序先读入字符串"orange",再将其转换为orange代表的值。

共享名称空间

C语言使用名称空间(namespace)标识程序中的各部分,即通过名称来识别。作用域是名称空间概念 的一部分:两个不同作用域的同名变量不冲突;两个相同作用域的同名变量冲突。名称空间是分类别的。 在特定作用域中的结构标记、联合标记和枚举标记都共享相同的名称空间,该名称空间与普通变量使用的 空间不同。这意味着在相同作用域中变量和标记的名称可以相同,不会引起冲突,但是不能在相同作用域 中声明两个同名标签或同名变量。例如,在C中,下面的代码不会产生冲突:
尽管如此,以两种不同的方式使用相同的标识符会造成混乱。另外,C++不允许这样做,因为它把标记 名和变量名放在相同的名称空间中
Loading...