C语言学习-翁凯(第十一章笔记)

C语言学习-翁凯(第十一章笔记)

C语言第十一章

11.1.1 枚举

常量符号化
#include<stdio.h>

const int red=0;
const int yellow=1;
const int green=2;

int main(int argc,char const *argv[])
{
   
    int color=-1;
    char *colorName=NULL;
    
    printf("请输入你喜欢的颜色的代码:");
    scanf("%d",&color)
    switch(color){
   
        case red:colorNmae="red";break;
        case yellow:colorName="yellow";break;
        case green:colorName="green";break;
        default: colorName="unknown";break;
    }
    printf("你喜欢的颜色是%s\n",colorName);
    
    return 0;
}
  • 用符号而不是具体的数字来表示程序中的数字
枚举
#include<stdio.h>

enum COLOR {
   RED,YELLOW,GREEN};

int main(int argc,char const *argv[])
{
   
    int color=-1;
    char *colorName=NULL;
    
    printf("请输入你喜欢的颜色的代码:");
    scanf("%d",&color);
    switch(color){
   
        case RED:colorNmae="red";break;
        case YELLOW:colorName="yellow";break;
        case GREEN:colorName="green";break;
        default: colorName="unknown";break;
    }
    printf("你喜欢的颜色是%s\n",colorName);
    
    return 0;
}
  • 用枚举而不是定义独立的const int变量

  • 枚举是一种用户定义的数据类型,它用关键字enum以如下语法来声明:

    enum 枚举类型名字 {名字0,…,名字n};

  • 枚举类型名字通常并不真的使用,要用的是在大括号里面的名字,因为它们就是常量符号,它们的类型是int,值则依次从0到n,如:

    enum colors {red,yellow,green};

  • 就创建了三个常量,red的值是0,yellow是1,而green是2.

  • 当需要一些可以排列起来的常量值时,定义枚举的意义就是给了这些常量值名字。

#include<stdio.h>

enum COLOR {
   RED,YELLOW,GREEN};

void f(enum color c);

int main(void)
{
   
   enum color t=red;
    scanf("%d",&t);
    f(t);
    
    return 0;
}

void f(enum color c)
{
   
    printf("%d\n",c);
}
  • 枚举量可以作为值
  • 枚举类型可以跟上enum作为类型(例如enum color相当于int之类的类型)
  • 但是实际上是以整数来做内部 计算和外部输出的
套路:自动计数的枚举
#include<stdio.h>

enum COLOR {
   RED,YELLOW,GREEN,NumCOLORS};

int main(int argc,char const *argv[])
{
   
    int color=-
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拾叶King

非常感谢您的支持和认同!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值