c语言 枚举

前言:

一般而言,程序中的常数不直接使用该数字, 而是定义一个const数据类型来储存该常数,例如比率是0.5,就 const float rate = 0.5 。这样不仅可以在程序中的可以使用该参数,当别人或者自己再次调试代码时这些有意义的单词会使得阅读,理解和修改变得更容易。

但是当相同类型的常数太多时(例如颜色对应常数),一个一个的定义会很麻烦,于是就有了下面的 枚举

枚举 :enum 枚举类型名字{name0,name1——name n};

枚举所定义的变量类型一定是int,值从0到n。

enum colors {red,yellow,green};
red0
yellow1
green2

枚举的量可以作为值来使用,枚举相当于创立了一种新的数据类型(像int,float等),其值可以作为函数的参数,输入,也可以作为一般的数据类型使用,但究其根本,在c语言内部枚举还是以int类型作为计算

#include<stdio.h>
enum colors {red,yellow,green};//定义新变量类型colors//
void f(enum colors c)//函数原型,注意的是使用新变量类型时一定要加上enum//
int main ()
{enum t =red ;
scanf("%d",&t);
f(t);//调用函数f//
return ;
}

void f(enum colors c)//函数定义//
{
printf("%d\n",t);
}

在c语言中,使用enum定义的新数据类型时一定要加上enum(c++可以不用)(enum定义的新变量很少使用)

使用套路 :自动计算枚举数目。 在有意义的变量最后加一个numofenum或者是其他可以表示计算的词,这个词的值就是枚举的数目,当用枚举量作为数组下标时会很方便。

在定义枚举时也可以使用赋值给特定的变量赋值,如果被赋值的变量下一个没有被赋值,那么它的值就是被赋值变量的数值加1

enum colors {red=4,green,blue=9,yellow};
printf("green=%d,yellow=%d\n",green,yellow);

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值