Terry 发表于 2016-9-1 11:01:47

谈谈C语言枚举类型

一,基本概念
(1) 枚举型是一个集合,集合中的元素(枚举成员)是一些命名的整型常量,元素之间用逗号,隔开。
(2) 第一个枚举成员的默认值为整型的0,后续枚举成员的值在前一个成员上加1。
(3) 可以人为设定枚举成员的值,从而自定义某个范围内的整数。
(4) 枚举型是预处理指令#define的替代。
(5) 类型定义以分号;结束。

二、枚举和宏的区别
1、枚举可以自增1,这样不用每一个值都定义,而宏必须每个值都定义。而且枚举是一个集合,代表一类值,像你代码中的颜色归为一类,方便使用,而宏不能形成集合。
2、sizeof是4,枚举变量代表一个整数(如ColorVal = RED),而整数是4个字节。

三、枚举取值范围
枚举类型的尺寸是以能够容纳最大枚举子的值的整数的尺寸。枚举类型中的枚举子的值必须要能够用一个int类型表述”,也就是说,枚举类型的尺寸不能够超过int类型的尺寸,但是是不是必须和int类型具有相同的尺寸呢?只要能够容纳最大的枚举子的值的整数就可以了,那么就是说可以是char、short和int。

Gemini 发表于 2016-9-1 14:32:05

:lol:lol:lol

林光光1号 发表于 2016-9-1 16:44:17

:lol:lol:lol:lol
页: [1]
查看完整版本: 谈谈C语言枚举类型