结构类型

在线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作为类型
  • 但是实际上是以整数来做内部计算 和外部输⼊输出的

 

上一篇:IIS7.0/7.5 MVC3 实现伪静态


下一篇:rio 10.3 使用listview显示sqlite数据库记录