C语言学习笔记:枚举(enum)

✨博文作者:烟雨孤舟
喜欢的可以 点赞 收藏 关注哦~~

✍️ 作者简介: 一个热爱大数据的学习者

✍️ 笔记简介:作为大数据爱好者,以下是个人总结的学习笔记,如有错误,请多多指教!

目录

简介

枚举定义

枚举变量的定义

枚举的应用

简介

枚举enum是英文enumerate的缩写,列举、排列说明的意思。枚举是 C 语言中的一种基本数据类型,用于定义一组具有离散值的常量。枚举类型可以让我们的程序使用一些固定长度和固定数值的变量值范围。枚举类型通常用于为程序中的一组相关的常量取名字,以便于程序的可读性和维护性。定义一个枚举类型,需要使用 enum 关键字,后面跟着枚举类型的名称,以及用大括号 {} 括起来的一组枚举常量。每个枚举常量可以用一个标识符来表示,也可以为它们指定一个整数值,如果没有指定,那么默认从 0 开始递增。

枚举定义

enum 枚举名 {枚举元素1,枚举元素2,……枚举元素n};
//枚举颜色
enum color{red, oreange,yellow,green,ching,blue,purple}; 

 枚举是 C 语言中的一种基本数据类型,它可以让数据更简洁,更易读。比如:一星期有 7 天,如果不用枚举,我们需要使用 #define 来为每个整数定义一个别名

//#define 
#define MON  1
#define TUE  2
#define WED  3
#define THU  4
#define FRI  5
#define SAT  6
#define SUN  7
//枚举
enum DA{MON=1, TUE, WED, THU, FRI, SAT, SUN};
注意:第一个枚举成员的默认值为整型的0,后续枚举成员的值在前一个成员上加1。我们在这个实例中把第一个枚举成员的值定义为1,第二个就为2,以此类推。

枚举变量的定义

先定义枚举类型,再定义枚举变量
enum DAY{MON=1, TUE, WED, THU, FRI, SAT, SUN};
enum DAY day;
定义枚举类型的同时定义枚举变量:
enum DAY{MON=1, TUE, WED, THU, FRI, SAT, SUN} day;
省略枚举名称,直接定义枚举变量
enum{MON=1, TUE, WED, THU, FRI, SAT, SUN} day;

案例:
#include 
enum DAY{MON=1, TUE, WED, THU, FRI, SAT, SUN};
int main()
{
    enum DAY day;
    day = WED;
    printf("%d",day);
    return 0;
}

#include 
enum DAY{MON=1, TUE, WED, THU, FRI, SAT, SUN} day; 
int main()
{
    day = WED;
    printf("%d",day);
    return 0;
}

#include 
enum {MON=1, TUE, WED, THU, FRI, SAT, SUN} day; 
int main()
{
    day = WED;
    printf("%d",day);
    return 0;
}
//以上三个函数输出结果都是3,WED的下标是3

枚举的应用

 

#include 
int main(){
    enum color { red=1, green, blue } color;
    printf("请输入你喜欢的颜色: (1. red, 2. green, 3. blue): ");
    scanf("%u", &color);
    switch (color){
    case red:
        printf("你喜欢的颜色是红色");
        break;
    case green:
        printf("你喜欢的颜色是绿色");
        break;
    case blue:
        printf("你喜欢的颜色是蓝色");
        break;
    default:
        printf("你没有选择你喜欢的颜色");
    }
    return 0;
}
结果:
//请输入你喜欢的颜色: (1. red, 2. green, 3. blue): 1
//你喜欢的颜色是红色
将整数转换为枚举
#include 
int main(){
    enum day{saturday,sunday,monday,tuesday,wednesday,
             thursday,friday} workday; 
    //枚举变量定义,枚举名可以省略,变量定义简化 
    int a = 1;
    workday = ( enum day ) a;  //类型转换
    printf("sunday:%d",workday);
    return 0;
}
结果:
//sunday:1

你可能感兴趣的:(C语言,学习,笔记,c语言)