enum在c语言中怎么用?

Python023

enum在c语言中怎么用?,第1张

C语言的枚举类型实质就是整型变量,只不过通过枚举类型将一类有关联的标识组合起来,增加程序的可读性和可维护性

(1) 枚举型是一个集合,集合中的元素(枚举成员)是一些命名的整型常量,元素之间用逗号,隔开。

(2) DAY是一个标识符,可以看成这个集合的名字,是一个可选项,即是可有可无的项。

(3) 第一个枚举成员的默认值为整型的0,后续枚举成员的值在前一个成员上加1。

(4) 可以人为设定枚举成员的值,从而自定义某个范围内的整数。

(5) 枚举型是预处理指令#define的替代。

(6) 类型定义以分号结束。

定义枚举类型

enum YOURENUMTYPE

{

ID1,//如果不额外指定则第一个标识等于整数0,后续依次加1

ID2,

ID3=7,

....

IDn//最后一个标识符后面没有逗号

}//注意一定要加上这个分号

定义枚举变量

enum YOURENUMTYPE varname

给枚举变量赋值 varname = IDx

举个完整的例子

enum FRUIT

{

APPLE,

PEAR,

ORANGE,

PEACH,

GRAPE,

BANANA

}

enmu FRUIT myfruit = PEACH

enum是计算机编程语言中的一种数据类型。枚举类型:在实际问题中,有些变量的取值被限定在一个有限的范围内。

C语言提供了一种称为“枚举”的类型。在“枚举”类型的定义中列举出所有可能的取值,被说明为该“枚举”类型的变量取值不能超过定义的范围。

例如,一个星期内只有七天,一年只有十二个月,一个班每周有六门课程等。如果把这些量说明为整型,字符型或其它类型显然是不妥当的。

扩展资料

c语言enum的定义

publicenumPersonnel{

小明,小红,小蓝

}

//扩展一下

publicenumPersonnel{

小明("男",21,86),

小红("女",22,55),

小蓝("男",23,73)

privateStringsex

privateintage

privateintresult

}

//在扩展一下重写小红的isPass方法重写下toString并带上构造getset不贴了

publicenumPersonnel{

小明("男",21,86),

小红("女",22,55){

@Override

publicbooleanisPass(){

returnfalse

}

},

小蓝("男",23,73)

privateStringsex

privateintage

privateintresult

/*构造*/

privatePersonnel(Stringsex,intage,intresult){

this.sex=sex

this.age=age

this.result=result

}

@Override

publicStringtoString(){

returnthis.name()+"性别:"+this.getSex()+"年龄:"+this.getAge()+"成绩为:"+this.getResult()

}

}

参考资料来源:百度百科—ENUM

enum在c语言中是枚举类型的意思,枚举类型的定义形式为enum typeName。

java使用enum定义常量类型,常量本身带有类型信息,可以使用==比较。enum定义的类型是class,继承自java.lang.Enum,所有常量都是唯一引用实例,常量可用于switch语句。

name()获取常量定义的字符串,注意不要使用toString(),ordinal()返回常量定义的顺序(无实质意义),可以为enum类编写构造方法、字段、方法,构造方法必须为private。

新的数据类型定义完成后,它就可以使用了。我们已经见过最基本的数据类型,如:整型int, 单精度浮点型float, 双精度浮点型double, 字符型char, 短整型short等等。

枚举型是一个集合,集合中的元素(枚举成员)是一些命名的整型常量,元素之间用逗号隔开。

DAY是一个标识符,可以看成这个集合的名字,是一个可选项,即是可有可无的项。

第一个枚举成员的默认值为整型的0,后续枚举成员的值在前一个成员上加1。

可以人为设定枚举成员的值,从而自定义某个范围内的整数。

枚举型是预处理指令#define的替代。