ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

结构类型

2021-12-07 13:00:07  阅读:160  来源: 互联网

标签:const colorName int yellow break 枚举 类型 结构


在线C环境:https://clin.icourse163.org/

 

1. 枚举

2. 结构

3. 联合

 

 

 

枚举

  • 枚举是⼀种⽤户定义的数据类型,它⽤关键字 enum 以如下语 法来声明:enum 枚举类型名字 {名字0, …, 名字n} ;
  • 枚举类型名字通常并不真的使⽤,要⽤的是在⼤括号⾥的名字, 因为它们就是就是常量符号,它们的类型是int,值则依次从0 到n。如:enum colors { red, yellow, green } ;
  • 就创建了三个常量,red的值是0,yellow是1,⽽green是2。
  • 当需要⼀些可以排列起来的常量值时,定义枚举的意义就是给 了这些常量值名字。

 

1. 常量符号化

#include <stdio.h>

const int red = 0;
const int yellow = 1;
const int green = 2;
// enum COLOR {RED, YELLOW, GREEN};
int main() {
    
    int color = -1;
    char *colorName = NULL;
    
    printf("请输入你喜欢的颜色的代码:");
    scanf("%d",&color);
    
    switch(color){
        case red:
        colorName = "red";
        break;
        case yellow:
        colorName = "yellow";
        break;
        case green:
        colorName = "green";
        break;
        default:
        colorName = "unknow";
        break;
    }
    printf("你喜欢的颜色是%s\n",colorName);
    
    
    
    return 0;
}

会报错

⽤符号⽽不是具体的数字来表⽰程序中的数字

 

#include <stdio.h>

// const int red = 0;
// const int yellow = 1;
// const int green = 2;
enum COLOR {RED, YELLOW, GREEN};
int main() {
    
    int color = -1;
    char *colorName = NULL;
    
    printf("请输入你喜欢的颜色的代码:");
    scanf("%d",&color);
    
    switch(color){
        case RED:
        colorName = "red";
        break;
        case YELLOW:
        colorName = "yellow";
        break;
        case GREEN:
        colorName = "green";
        break;
        default:
        colorName = "unknow";
        break;
    }
    printf("你喜欢的颜色是%s\n",colorName);
    
    
    
    return 0;
}

输入0,1,2来检测输出的结果

⽤枚举⽽不是定义独⽴的const int变量

 

 

 

2.案例

  • 枚举量可以作为值
  • 枚举类型可以跟上enum作为类型
  • 但是实际上是以整数来做内部计算 和外部输⼊输出的

 

标签:const,colorName,int,yellow,break,枚举,类型,结构
来源: https://www.cnblogs.com/hechunfeng/p/15655536.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有