您的位置:首页 > 编程语言 > C语言/C++

C语言:枚举类型

2017-03-03 16:00 302 查看
在枚举类型的定义中列出所有可能的取值,被说明为该枚举类型的变量取值不能超过定义的范围。应该说明的是,枚举类型是一种基本数据类型,而不是一种构造类型,因为他不可能再分解为任何基本类型。
枚举类型的定义如下:
enum
枚举名
{枚举值表};
例:
enum weekday
{

sun,mou, tue, wed, thu, fri, sat
};
枚举变量的说明:
enum weekday
{

…….
};
enum weekday a, b,c;

enum weekday
{

…….
}a, b, c;

enum
{
           …….
} a, b, c;
枚举类型再使用中的规定
(1).枚举值是常量,不是变量。不能在程序中用赋值语句对其进行赋值。例如对枚举weekday的元素做以下赋值:sum=5;mon=2;sun=mon;都是错误的。
(2).枚举元素本身由系统定义了一个表示序号的数值,从0开始顺序定义为0,1,2…。如在weekday中,sun值为0,mon值为1,…,sat值为6.
例:
#include"stdio.h"
 
int main()
{

enumweekday

{
sun,mon, tue, wed, thu, fri, sat

};

enumweekday a, b, c;

a= sun;

b= mon;

c= tue;

printf("%d,%d,%d",a, b, c);

return0;
}
输出结果为
0,1,2
(3).只能把枚举值赋予枚举变量,不能把元素的数值直接赋予枚举变量。如a=sum;b=mon;是正确的。而a=0;b=1;是错误的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: