c语言中的枚举型啥意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中的枚举型啥意思相关的知识,希望对你有一定的参考价值。

枚举型是四种基本数据类型之一。常量、字符型、布尔型可以用来表达数,字符,真假的描述。

枚举类型在C#或C++,java,VB等一些计算机编程语言中是一种基本数据类型而不是构造数据类型,而在C语言等计算机编程语言中是一种构造数据类型。它用于声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为枚举类型。

枚举可以根据Integer、Long、Short或Byte中的任意一种数据类型来创建一种新型变量。这种变量能设置为已经定义的一组之中的一个,有效地防止用户提供无效值。该变量可使代码更加清晰,因为它可以描述特定的值。

扩展资料

注意事项:

1、赋值运算 COLOR:=RED ;注意类型一致不能出界;

2、关系运算 IF

3、输入 枚举变量的值只能用赋值语句获得,不要用READ语句;

4、输出 不能直接用WRITE语句直接输出枚举元素,系统会认为它是一个

5、未定义的变量名;必须赋给一个枚举变量,然后输出给变量的值;

参考资料来源:百度百科-枚举

参考技术A 就是你声明的这个枚举变量的值,只能取其中的东西,比如:
enum
monday,tuesday,wednesday,thursday,friday
weekday;
那weekday这个变脸的值只能是中的值。(他们分别对应数字0,1,2,3,4,因为枚举型变量也是整型)
参考技术B 它是一种数据类型,用来定义一组常量。例如
enum studentLIly,LUcy,Tom,Jersey
在程序中就可以通过student.LIly引用它,此时LIly,LUcy,Tom,Jersey的值分别为0,1,2,3。枚举类型里的值,在没有指定的情况下,第一个默认为0,往后的自增一。例子如上。
在有指定的情况下如enum studentLIly,LUcy=3,Tom,Jersey
此时LIly,LUcy,Tom,Jersey的值分别为0,3,4,5。总结起来就是,有指定值时就用指定值,没有就用默认值,往后的变量自增一。
参考技术C 一个变量可能的取值都知道,就可以把它定义为枚举型,然后把变量的值一一列出来,令变量的值只限于列举出来的值的范围内。
比如有个变量date表示周几,enum dateMon,Tues,Wed,Thur,Fri,Sat,Sun
参考技术D 就是你变量的值只能是你定义的枚举型中定义的数值。比如enum name赵,钱,孙,李;你name A的值只能为赵,钱,孙,李中的一个

C语言中的枚举类型

如果一个变量只有几种可能的值,则可以定义为 枚举类型 。所谓“枚举”是指将变量的值一一列举出来,变量的值只限于列举出来的值的范围内。
声明枚举类型用 enum 开头。例如:

声明了一个枚举类型enum weekday,则可以用此类型来定义变量。例如:

也可以直接定义枚举变量,例如:

其中sun、mon、…、sat称为 枚举元素 枚举常量
说明:
1、在C编译中,对枚举元素按常量处理,故称为 枚举常量 。它们不是变量,不能进行赋值。例如 sun = 7; mon = 1; 是错误的。
2、枚举元素作为常量,是有值的。C语言编译按定义时的顺序使它们的值为0、1、2……也可以在定义时,指定枚举元素的值,例如:

3、枚举值可以用来作判断比较。例如:

4、一个证书不能直接赋值给一个枚举变量。例如 workday=1; 是错误的。它们属于不同的类型。应该先进性强制类型转换,然后才能赋值。例如:

相当于将序号为2的枚举元素赋值给workday,相当于

参考技术A

用法1

enum colour RED, GREEN, BLUE colour_t;

colour_t的值可以等于,RED, GREEN, BLUE中的任一个。

用法2

typedef enum colour RED, GREEN, BLUE colour_t;

colour_t col;

col的值可以等于,RED, GREEN, BLUE中的任一个。

注:如果RED, GREEN, BLUE没有赋值,默认RED=0,GREEN=1,BLUE=2;

以上是关于c语言中的枚举型啥意思的主要内容,如果未能解决你的问题,请参考以下文章

C语言中的枚举类型

C语言中关于枚举类型

C语言枚举类型是啥意思?

C语言中的枚举类型有啥用么?

C语言枚举定义函数,是啥意思?

C语言的enum中的枚举名有啥用?