编程习惯-enum的用法

简介: enum的用法说明以下摘自维基百科:在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。

enum的用法说明


以下摘自维基百科:

数学计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。这两种类型经常(但不总是)重叠。

枚举是一个被命名的整型常数的集合,枚举在日常生活中很常见,例如表示星期的SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY就是一个枚举。 枚举的说明与结构和联合相似,其形式为:

enum 枚举名{ 
    标识符①[=整型常数], 
    标识符②[=整型常数], 
    ... 
    标识符N[=整型常数], 
}枚举变量;

如果枚举没有初始化,即省掉"=整型常数"时,则从第一个标识符开始,顺次赋给标识符0, 1, 2, ...。但当枚举中的某个成员赋值后,其后的成员按依次加1的规则确定其值。例如下列枚举说明后, x1, x2, x3, x4的值分别为0, 1, 2, 3。
enum string{x1, x2, x3, x4}x;

当定义改变为:

enum string 
{
    x1,
    x2=0,
    x3=50,
    x4, 
}x;

则x1=0, x2=0, x3=50, x4=51 注意:

  1. 枚举中每个成员(标识符)结束符是",", 不是";",最后一个成员可省略","。
  2. 初始化时可以赋负数,以后的标识符仍依次加1。
  3. 枚举变量只能取枚举说明结构中的某个标识符常量。

例如:

enum string
{
    x1=5,
    x2,
    x3,
    x4,
};
enum string x=x3;

其中标红的一天很重要,如果给枚举变量(exp:x)赋了其他的int类型的值,在C++编译器中会导致编译错误!

但是有些编译器(gcc)不会报错,这个是语法不允许的,只是编译器有时候会忽略或者优化掉!!!


目录
相关文章
|
4月前
|
程序员 测试技术 C++
[C++] enum枚举类型用法
[C++] enum枚举类型用法
36 0
|
1月前
|
C语言
C语言中关键字static的三种用法
C语言中关键字static的三种用法
|
3月前
|
C++ Rust NoSQL
Rust 数据类型 之 类C枚举 c-like enum
Rust 数据类型 之 类C枚举 c-like enum
34 0
Rust 数据类型 之 类C枚举 c-like enum
|
5月前
|
C语言
关键字static在C语言中的三种用法
关键字static在C语言中的三种用法
37 0
|
5月前
|
Java C语言 Spring
15 C语言 - enum(枚举)
15 C语言 - enum(枚举)
18 0
|
8月前
|
存储 Java 编译器
【C语言】静态关键字static的用法(详解)
不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构。这篇文章主要介绍了C语言中静态关键字static的作用,对大家学习C语言非常有帮助。
100 0
|
9月前
|
C语言
关于C语言全局变量的定义和用法
关于C语言全局变量的定义和用法
120 0
|
C语言
C语言枚举类型enum(全面详细直观)
C语言枚举类型enum(全面详细直观)
492 0
C语言枚举类型enum(全面详细直观)
C语言——enum枚举实例、知识点。使用枚举,减少相同定义步骤,简洁数据1.1.5
枚举是C语言常见的一种基本数据类型,它可以避免多个整数定义的麻烦,使代码整洁干净易读如此一看,就觉得繁琐无比,大量重复#define xx明显增加代码量,且数值需自己一一对应而枚举,可以解决这种定义连续数值的过程当变量第一个值未自定义时,第一个枚举成员的默认值则为整型0,后续成员值依次加1,如此时MON=0,TUE=1,WED=2·····.........
C语言——enum枚举实例、知识点。使用枚举,减少相同定义步骤,简洁数据1.1.5
|
前端开发 Java 开发者
在工作中如何使用枚举(enum)
枚举是JDK 1.5中引入的新特性,由一组固定的常量组成合法值的类型,例如一年中的季节、一周的星期数。
828 2

热门文章

最新文章