一,两者的用法
enum 标识符
{
};
枚举数据(枚举常量)是一些特定的标识符,标识符代表什么含义,完全由程序员决定。数据枚举的顺序规定了枚举数据的序号,从0开始,依次递增。
enum status
{
};
枚举类型status仅有两个数据,一个是copy,一个是delete,序号为0、1,代表复制与删除。
enum status
{
};
则copy的序号为6,delete的序号为7。
二,一些说明
#include "stdafx.h"
enum led_type
{
};
void crake(led_type xx)
{
}
int _tmain()
{
}
编译时程序都会报错:error C2664: 'crake' : cannot convert parameter 1 from 'int' to 'led_type'。尽管enum的类型值仍然是整形,但并不意味着它可以接受范围外的整型数。(关于此问题,在Linux中,由别人验证是可以编译通过的。因为两者的C编译法则有差别)
1. 定义一种新的数据类型 - 枚举型
enum
{
};
(1) 枚举型是一个集合,集合中的元素(枚举成员)是一些命名的整型常量,元素之间用逗号,隔开。
(2)
(3) 第一个枚举成员的默认值为整型的0,后续枚举成员的值在前一个成员上加1。
(4) 可以人为设定枚举成员的值,从而自定义某个范围内的整数。
(5) 枚举型是预处理指令#define的替代。
(6) 类型定义以分号;结束。
2. 使用枚举类型对变量进行声明
新的数据类型定义完成后,它就可以使用了。我们已经见过最基本的数据类型,如:整型int, 单精度浮点型float, 双精度浮点型double, 字符型char, 短整型short等等。用这些基本数据类型声明变量通常是这样:
char
char
int
int
double
double
既然枚举也是一种数据类型,那么它和基本数据类型一样也可以对变量进行声明。
方法一:枚举类型的定义和变量的声明分开
enum
{
};
enum
enum
enum
enum
方法二:类型定义与变量声明同时进行:
enum
{
}
enum
enum
方法三:用typedef关键字将枚举类型定义成别名,并利用该别名进行变量声明:
typedef
{
}
workday
也可以:
typedef
{
}
workday
注意:同一个程序中不能定义同名的枚举类型,不同的枚举类型中也不能存在同名的命名常量。