首页 > 编程知识 正文

c++enum用法,c语言枚举类型的用法

时间:2023-05-04 22:56:29 阅读:126827 作者:2682

一次定义多个常数。

例如,用我们的程序处理问题时,涉及星期几。 你可能需要把星期一转换成数字1,把星期二转换成数字2,数字7。 虽然也可以不使用enum关键字而使用define进行定义,但是我觉得大家很麻烦。 因为必须一个个地定义。 星期几没关系。 只有七天。 月的话,一年有12个月的话,写12个#include

enum week {Mon=1,Tue,Wed,Thu,Fri,Sat,Sun};

int main () )

{

printf('%d ',Tue;

返回0;

}

这样定义后,Mon的值为1,Tue的值为2,Wed的值为3,一次类推。

然后,可以使用定义为使用define之后的常数的7个值。

如果不在开头写Mon=1,则Mon的默认值为0,从0开始增长。 示例: enum color {red,blue,green,yellow};

这样定义后,red的值为0,blue的值为1,并且一次增加。

中途分配值时: enum color {red,blue,green=5,yellow};

在中,默认情况下,blue从red增加到0。 green是定义的值5。 然后,green之后的值都从5开始增加。

当然,也可以为枚举的每个变量赋值。 这样做,一切都和define中定义的一样。 如果枚举中未指定值,则更改自上一个赋值以来

量开始了,一次增加一个。

二、限定变量范围

例如,我们的APP应用程序处理有关月球的东西。 很明显,月亮只能取1-12中的一个数字。 为了保证程序的正确性和健壮性,必须使用枚举。 #包含

enum Month {Jan=1,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,dec};

int main () )

{

enum Month a=Feb;

printf('%d ',a );

返回0;

}

例如,这样定义的枚举类型a的可能值仅仅是12个变量中的一个变量,当给出其它变量时,编译器报告错误。

可以通过以下方法使用枚举:

1、定义枚举的同时声明变量:枚举month { Jan=1,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,dec} a,b;

现在已经声明了两种枚举类型a和b

2、定义枚举后,声明变量。 enum Month {Jan=1,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,dec};

enum Month a=Feb;

3、匿名枚举变量enum {Jan=1,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,dec} a;

这样,只能使用名为a的枚举类型的变量,不能定义其他枚举类型。

4、typedefenum是为了定义一个数据类型,其类型的变量值在enum定义的范围内为typedef enum {Jan=1,Feb,Mar,Apr,May,Jun,Jul,Aug,seee

日期a,b;

注意与宏定义的差异:

enum用于定义一组宏定义常量的区别,相当于一组#definexxxx。 当然,随后的标识符也可以用作类型标识符。 typedefenum用于定义数据类型,该类型的变量值只能在enum定义的范围内。 两者在这一点上没有差别。

注:不能在同一程序中定义同名的枚举类型。 此外,不同枚举类型中不能存在同名的命名常量

转载: http://blog . net/xing jiarong/article/details/47275971

参考: https://blog . net/wo _ Yan _ Zhao 1220/article/details/12906197

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。