C语言:枚举类型

来源:互联网 发布:本科毕业论文数据造假 编辑:程序博客网 时间:2024/06/04 17:42

在枚举类型的定义中列出所有可能的取值,被说明为该枚举类型的变量取值不能超过定义的范围。应该说明的是,枚举类型是一种基本数据类型,而不是一种构造类型,因为他不可能再分解为任何基本类型。

枚举类型的定义如下:

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=5mon=2sun=mon;都是错误的。

2.枚举元素本身由系统定义了一个表示序号的数值,从0开始顺序定义为012…。如在weekday中,sun值为0mon值为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=sumb=mon;是正确的。而a=0b=1;是错误的。

0 0
原创粉丝点击