精华内容
下载资源
问答
  • c语言枚举类型enum用法
    2022-02-27 15:51:02

    在实际编程中,有些数据的取值往往是有限的,只能是非常少量的整数,并且最好为每个值都取一个名字,以方便在后续代码中使用,比如一个星期只有七天,一年只有十二个月,一个班每周有六门课程等。

    以每周七天为例,我们可以使用#define命令来给每天指定一个名字:

    #include <stdio.h>
    
    #define Mon 1
    #define Tues 2
    #define Wed 3
    #define Thurs 4
    #define Fri 5
    #define Sat 6
    #define Sun 7
    
    int main(){
        int day;
        scanf("%d", &day);
        switch(day){
            case Mon: puts("Monday"); break;
            case Tues: puts("Tuesday"); break;
            case Wed: puts("Wednesday"); break;
            case Thurs: puts("Thursday"); break;
            case Fri: puts("Friday"); break;
            case Sat: puts("Saturday"); break;
            case Sun: puts("Sunday"); break;
            default: puts("Error!");
        }
        return 0;
    }

    运行结果:
    5↙
    Friday

    #define命令虽然能解决问题,但也带来了不小的副作用,导致宏名过多,代码松散,看起来总有点不舒服。C语言提供了一种枚举(Enum)类型,能够列出所有可能的取值,并给它们取一个名字。
    枚举类型的定义形式为:

    enum typeName{ valueName1, valueName2, valueName3, ...... };

    enum是一个新的关键字,专门用来定义枚举类型,这也是它在C语言中的唯一用途;typeName是枚举类型的名字;valueName1, valueName2, valueName3, ......是每个值对应的名字的列表。注意最后的;不能少。

     

    例如,列出一个星期有几天:

     
    
    1. enum week{ Mon, Tues, Wed, Thurs, Fri, Sat, Sun };

    可以看到,我们仅仅给出了名字,却没有给出名字对应的值,这是因为枚举值默认从 0 开始,往后逐个加 1(递增);也就是说,week 中的 Mon、Tues ...... Sun 对应的值分别为 0、1 ...... 6。

    我们也可以给每个名字都指定一个值:

     
    
    1. enum week{ Mon = 1, Tues = 2, Wed = 3, Thurs = 4, Fri = 5, Sat = 6, Sun = 7 };

    更为简单的方法是只给第一个名字指定值:

     
    
    1. enum week{ Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun };

    这样枚举值就从 1 开始递增,跟上面的写法是等效的。

    枚举是一种类型,通过它可以定义枚举变量:

     
    
    1. enum week a, b, c;

    也可以在定义枚举类型的同时定义变量:

     
    
    1. enum week{ Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun } a, b, c;

    有了枚举变量,就可以把列表中的值赋给它:

    1. enum week{ Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun };
    2. enum week a = Mon, b = Wed, c = Sat;

    或者:

     
    
    1. enum week{ Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun } a = Mon, b = Wed, c = Sat;

    【示例】判断用户输入的是星期几。

    #include <stdio.h>
    
    int main(){
        enum week{ Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun } day;
        scanf("%d", &day);
        switch(day){
            case Mon: puts("Monday"); break;
            case Tues: puts("Tuesday"); break;
            case Wed: puts("Wednesday"); break;
            case Thurs: puts("Thursday"); break;
            case Fri: puts("Friday"); break;
            case Sat: puts("Saturday"); break;
            case Sun: puts("Sunday"); break;
            default: puts("Error!");
        }
        return 0;
    }

    运行结果:
    4↙
    Thursday

    需要注意的两点是:
    1) 枚举列表中的 Mon、Tues、Wed 这些标识符的作用范围是全局的(严格来说是 main() 函数内部),不能再定义与它们名字相同的变量。

    2) Mon、Tues、Wed 等都是常量,不能对它们赋值,只能将它们的值赋给其他的变量。

    枚举和宏其实非常类似:宏在预处理阶段将名字替换成对应的值,枚举在编译阶段将名字替换成对应的值。我们可以将枚举理解为编译阶段的宏。

    对于上面的代码,在编译的某个时刻会变成类似下面的样子:

    #include <stdio.h>
    
    int main(){
        enum week{ Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun } day;
        scanf("%d", &day);
        switch(day){
            case 1: puts("Monday"); break;
            case 2: puts("Tuesday"); break;
            case 3: puts("Wednesday"); break;
            case 4: puts("Thursday"); break;
            case 5: puts("Friday"); break;
            case 6: puts("Saturday"); break;
            case 7: puts("Sunday"); break;
            default: puts("Error!");
        }
        return 0;
    }

    Mon、Tues、Wed 这些名字都被替换成了对应的数字。这意味着,Mon、Tues、Wed 等都不是变量,它们不占用数据区(常量区、全局数据区、栈区和堆区)的内存,而是直接被编译到命令里面,放到代码区,所以不能用&取得它们的地址。这就是枚举的本质。

    关于程序在内存中的分区以及各个分区的作用,我们将在《 C语言内存精讲》专题中的《 Linux下C语言程序的内存布局(内存模型)》一节中详细讲解。

    在c语言中文网中有详细的说明

    我们在《C语言switch case语句》一节中讲过,case 关键字后面必须是一个整数,或者是结果为整数的表达式,但不能包含任何变量,正是由于 Mon、Tues、Wed 这些名字最终会被替换成一个整数,所以它们才能放在 case 后面。

    枚举类型变量需要存放的是一个整数,我猜测它的长度和 int 应该相同,下面来验证一下:

    #include <stdio.h>
    
    int main(){
        enum week{ Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun } day = Mon;
        printf("%d, %d, %d, %d, %d\n", sizeof(enum week), sizeof(day), sizeof(Mon), sizeof(Wed), sizeof(int) );
        return 0;
    }

    运行结果:
    4, 4, 4, 4, 4

    更多相关内容
  • c语言枚举类型enum用法及应用

    千次阅读 多人点赞 2021-07-14 10:36:26
    让我惊奇的是市面上的一些C语言书籍以及视频课程并没有重视去讲enum。 今天我们还是从理论到实际产品应用,教大家真正掌握enum。 通过这篇内容你能掌握以下知识: 掌握枚举的相关概念 掌握枚举的几种用法 掌握...

    大家好,我是无际。

    今天跟大家讲一下我在产品开发时,用枚举(enum)的一些骚操作。

    我跟你保证,今天的内容绝对是你在书本和视频学不到的。

    为什么要讲枚举呢?

    因为我发现它是一个容易被遗忘,同时又非常重要的关键词,大家如果看那些大佬写的程序,真的会发现有非常非常多enum的应用。

    让我惊奇的是市面上的一些C语言书籍以及视频课程并没有重视去讲enum。

    今天我们还是从理论到实际产品应用,教大家真正掌握enum。

    通过这篇内容你能掌握以下知识:

    1. 掌握枚举的相关概念
    2. 掌握枚举的几种用法
    3. 掌握枚举在实际产品中的应用

    这篇内容是无际单片机编程那个程序架构视频教程的讲课稿,我稍微做了些调整,如果想看视频的也可以找我们拿。

    一、枚举的概念

    我对枚举的理解是把一些固定的值一一列举出来分别起个名字,比如说给1取个名字叫Ture, 0取个名字叫False。

    Ture和false都是一种表示同一个类型的数据,比如说都是代表逻辑的对错。

    我们模拟51单片机的IE中断使能寄存器每个位的值来举一个例子。

    我们可以对照单片机寄存器芯片资料一下,当我们设置IE寄存器的值等于0x01的时候,代表开启外部中断0,设置成0x80的时候允许全部中断。

    这些枚举值都是针对寄存器IE的固定值,所以我们可以称这些值是同一个类型的数据,我们把他们重新命名一下,便于阅读和记忆,这就是枚举的重要作用之一。

    二、枚举的几种用法

    1.直接定义枚举值,然后给普通变量赋值。

    上面这个代码呢,定义了一个枚举类型,但是没有给枚举类型命名。

    像这种枚举呢就是没办法定义枚举变量的,但是呢,这样其实也是可以用的。

    我们通过定义一个普通变量,然后把枚举的值赋给他,一样也能输出正确的值,这种方法我个人经常偷懒地用。

    2.定义带名称的枚举

    这里定义了一个名字为WeekDay的枚举,那么我们就可以通过这个枚举类型定义一个名为day的枚举变量。

    三、定义枚举别名

    这个代码中通过typedef来定义枚举的别名为WeekDay,然后我们直接使用WeekDay day来定义一个enum变量,这种方法用的是最多的

    四、枚举有什么用,用在哪里?

    上面我们已经学习了枚举的一些定义方法,那么枚举到底在产品当中有什么用呢?

    枚举的作用:

    1.为固定的值命名,当作数组访问的下标,当固定的数据很多时,比如有几十上百个,那么如果你应0-100去表示就很难记住每个值代表什么意思。

    比如说之前做过汽车故障诊断的产品,需要读取Pid数据存储到数组里,而PID有将近100个。

    如果让你去记这100个每个代表哪个PID参数,估计你会崩溃。

    而我把每个PID参数通过枚举另起一个一看就知道是什么参数的名字,是不是就方便很多?

    因为每个PID都单独存储在数组的一个元素里,那我用这个名字作为下标能很快速地把指定PID参数从数组取出来。

    看上图用枚举和不用枚举读取的区别相信你就能理解了。

    2.可以作为一个变量,灵活分配数组大小。

    我们在定义数组的时候,直接用该枚举类型的最后一个值作为数组大小。

    下次要增加或者减少PID参数的时候就不用去改数组大小了,非常方便。

    3.枚举作为设置值

    上图是STM32的固件库代码,配置GPIO模式的枚举定义。

    我们可以看到,每一个枚举值都代表着一个模式,最后通过把这些值写入相应寄存器,最终完成GPIO的模式配置。

    这里就先说这么多,更多实战应用可以跟随无际单片机编程做项目去学习和提高。

    最后总结:

    不知道大家有没有发现,其实枚举配合结构体,C语言照样也能做面向对象的编程。

    面向对象是什么意思?就是一切皆对象,单片机GPIO是一个对象,定时器是一个对象,串口又是一个对象等等。

    每个对象都有自己独有的属性,比如说GPIO有输入和输出的模式,有输出的频率,有输出的引脚号,这些都是属于GPIO的属性。

    那我们可以通过枚举和结构体把这些属性封装起来,当做一个对象来处理。

    如果大家理解比较困难也没关系,这都是正常的。

    当你代码写到一定量的时候,慢慢就理解了。

    展开全文
  • 本文主要介绍C语言中的enum枚举用法,感性趣的朋友可以参考下。
  • C语言枚举类型enum)的各种用法

    万次阅读 多人点赞 2021-06-06 20:57:26
    枚举enum就是英文enumerate的缩写,也就是列举、排列说明的意思。枚举类型C语言中的一种特殊类型,枚举类型可以让我们的程序使用一些固定长度和固定数值的变量值范围。

    一、 基本概念

    枚举enum就是英文enumerate的缩写,也就是列举、排列说明的意思。枚举类型是C语言中的一种特殊类型,枚举类型可以让我们的程序使用一些固定长度和固定数值的变量值范围。定义枚举类型:enum 枚举类型 {枚举值列表};

    二、枚举类型的使用

    1、定义枚举类型

    //枚举颜色
    enum color{red=1, oreange=2, yellow=3, green=4, ching=5, blue=6, purple=7};
    
    //枚举一个星期的每一天
    enum week
    {
    	Su, Mo, Tu, We, Th, Fr, Sa
    };
    
    //枚举每一个月
    enum month
    {
    	January, February, March, April, May, June, July, August, September, October, November, December
    };
    

    这样枚举出来的都是一推变量,引用时:

    printf("%-3d %-3d %-3d %-3d %-3d %-3d %-3d", red, oreange, yellow, green, ching, blue, purple); 
    

    也就是直接使用,会直接输出对应的值。

    2、定义枚举类型的变量

    enum week a, b, c;
    a = Su;
    b = Mo;
    c = Tu;
     
    enum month d, e, f;
    d = January;
    e = February;
    f = March;
    

    3、调用枚举类型变量
    每周的日期和每月份的输出也是这样:

    enum week a, b, c;
    a = Su;
    b = Mo;
    c = Tu;
    printf("%d %d %d\n", a, b, c);
    enum month d, e, f;
    d = January;
    e = February;
    f = March;
    printf("%d %d %d\n", d, e, f);
    

    4、如果在定义枚举类型时指定元素的值,也可以改变枚举元素的值
    例如:
    enum weekday{sun=7,mon=1,tue,wed,thu,fri,sat}day;
    这时,sun 为 7,mon 为 1,以后元素顺次加 1,所以 sat 就是 6 了。

    5、枚举值可以用来作判断
    例如:
    if (day==month) {…}
    if (day>month) {…}
    枚举值的比较规则是:按其在说明时的顺序号比较,如果说明时没有人为指定,则第一个枚举元素的值认作 0。

    6、一个整数不能直接赋给一个枚举变量,必须强制进行类型转换才能赋值

    三、枚举案例

    #include <stdio.h>
    void main() 
    { 
    	enum weekday {sun,mon,tue,wed,thu,fri,sat} day; 
    	int k; 
    	printf("请输入0到6的数:"); 
    	scanf("%d",&k);
    	day=(enum weekday)k; 
    
    	switch(day) 
    	{ 
    		case sun: printf("sunday\n");break; 
    		case mon: printf("monday\n");break; 
    		case tue: printf("tuesday\n");break; 
    		case wed: printf("wednesday\n");break; 
    		case thu: printf("thursday\n");break; 
    		case fri: printf("friday\n");break; 
    		case sat: printf("satday\n");break; 
    		default: printf("input error\n");break; 
    	} 
    } 
    

    输入0-6中的一个数字,能够输出对应的星期。

    展开全文
  • C语言枚举类型Enum

    千次阅读 2021-05-20 18:48:00
    在实际编程中,有些数据的取值往往是有限的,只能是非常少量的整数,并且最好为每个值都取一个名字,以方便在后续代码中使用,比如一个星期只有七天,一年只有十二个月,一个班每周有六门课程等。以每周七天为例,...

    在实际编程中,有些数据的取值往往是有限的,只能是非常少量的整数,并且最好为每个值都取一个名字,以方便在后续代码中使用,比如一个星期只有七天,一年只有十二个月,一个班每周有六门课程等。

    以每周七天为例,我们可以使用#define命令来给每天指定一个名字:

    #include

    #define Mon 1

    #define Tues 2

    #define Wed 3

    #define Thurs 4

    #define Fri 5

    #define Sat 6

    #define Sun 7

    int main(){

    int day;

    scanf("%d", &day);

    switch(day){

    case Mon: puts("Monday"); break;

    case Tues: puts("Tuesday"); break;

    case Wed: puts("Wednesday"); break;

    case Thurs: puts("Thursday"); break;

    case Fri: puts("Friday"); break;

    case Sat: puts("Saturday"); break;

    case Sun: puts("Sunday"); break;

    default: puts("Error!");

    }

    return 0;

    }

    运行结果:

    5↙

    Friday

    #define命令虽然能解决问题,但也带来了不小的副作用,导致宏名过多,代码松散,看起来总有点不舒服。C语言提供了一种枚举(Enum)类型,能够列出所有可能的取值,并给它们取一个名字。

    枚举类型的定义形式为:

    enum typeName{ valueName1, valueName2, valueName3, ...... };

    enum是一个新的关键字,专门用来定义枚举类型,这也是它在C语言中的唯一用途;typeName是枚举类型的名字;valueName1, valueName2, valueName3, ......是每个值对应的名字的列表。注意最后的;不能少。

    例如,列出一个星期有几天:

    enum week{ Mon, Tues, Wed, Thurs, Fri, Sat, Sun };

    可以看到,我们仅仅给出了名字,却没有给出名字对应的值,这是因为枚举值默认从 0 开始,往后逐个加 1(递增);也就是说,week 中的 Mon、Tues ...... Sun 对应的值分别为 0、1 ...... 6。

    我们也可以给每个名字都指定一个值:

    enum week{ Mon = 1, Tues = 2, Wed = 3, Thurs = 4, Fri = 5, Sat = 6, Sun = 7 };

    更为简单的方法是只给第一个名字指定值:

    enum week{ Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun };

    这样枚举值就从 1 开始递增,跟上面的写法是等效的。

    枚举是一种类型,通过它可以定义枚举变量:

    enum week a, b, c;

    也可以在定义枚举类型的同时定义变量:

    enum week{ Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun } a, b, c;

    有了枚举变量,就可以把列表中的值赋给它:

    enum week{ Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun };

    enum week a = Mon, b = Wed, c = Sat;

    或者:

    enum week{ Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun } a = Mon, b = Wed, c = Sat;

    【示例】判断用户输入的是星期几。

    #include

    int main(){

    enum week{ Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun } day;

    scanf("%d", &day);

    switch(day){

    case Mon: puts("Monday"); break;

    case Tues: puts("Tuesday"); break;

    case Wed: puts("Wednesday"); break;

    case Thurs: puts("Thursday"); break;

    case Fri: puts("Friday"); break;

    case Sat: puts("Saturday"); break;

    case Sun: puts("Sunday"); break;

    default: puts("Error!");

    }

    return 0;

    }

    运行结果:

    4↙

    Thursday

    需要注意的两点是:

    1) 枚举列表中的 Mon、Tues、Wed 这些标识符的作用范围是全局的(严格来说是 main() 函数内部),不能再定义与它们名字相同的变量。

    2) Mon、Tues、Wed 等都是常量,不能对它们赋值,只能将它们的值赋给其他的变量。

    枚举和宏其实非常类似:宏在预处理阶段将名字替换成对应的值,枚举在编译阶段将名字替换成对应的值。我们可以将枚举理解为编译阶段的宏。

    对于上面的代码,在编译的某个时刻会变成类似下面的样子:

    #include

    int main(){

    enum week{ Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun } day;

    scanf("%d", &day);

    switch(day){

    case 1: puts("Monday"); break;

    case 2: puts("Tuesday"); break;

    case 3: puts("Wednesday"); break;

    case 4: puts("Thursday"); break;

    case 5: puts("Friday"); break;

    case 6: puts("Saturday"); break;

    case 7: puts("Sunday"); break;

    default: puts("Error!");

    }

    return 0;

    }

    Mon、Tues、Wed 这些名字都被替换成了对应的数字。这意味着,Mon、Tues、Wed 等都不是变量,它们不占用数据区(常量区、全局数据区、栈区和堆区)的内存,而是直接被编译到命令里面,放到代码区,所以不能用&取得它们的地址。这就是枚举的本质。

    关于程序在内存中的分区以及各个分区的作用,我们将在《C语言内存》专题中的《Linux下C语言程序的内存布局(内存模型)》一节中详细讲解。

    我们在《C语言switch语句》一节中讲过,case 关键字后面必须是一个整数,或者是结果为整数的表达式,但不能包含任何变量,正是由于 Mon、Tues、Wed 这些名字最终会被替换成一个整数,所以它们才能放在 case 后面。

    枚举类型变量需要存放的是一个整数,我猜测它的长度和 int 应该相同,下面来验证一下:

    #include

    int main(){

    enum week{ Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun } day = Mon;

    printf("%d, %d, %d, %d, %d\n", sizeof(enum week), sizeof(day), sizeof(Mon), sizeof(Wed), sizeof(int) );

    return 0;

    }

    运行结果:

    4, 4, 4, 4, 4

    枚举类型enum详解——C语言

    enum enum是C语言中的一个关键字,enum叫枚举数据类型,枚举数据类型描述的是一组整型值的集合(这句话其实不太妥当),枚举型是预处理指令#define的替代,枚举和宏其实非常类似,宏在预处理阶 ...

    &lbrack;编程&rsqb; C语言枚举类型(Enum)

    C语言枚举类型(Enum):定义形式为:enum typeName{ valueName1, valueName2, valueName3, ...... };enum 类型名{名字1,名字2} 枚举 ...

    【转】java枚举类型enum的使用

    原文网址:http://blog.csdn.net/wgw335363240/article/details/6359614 java 枚举类型enum 的使用 最近跟同事讨论问题的时候,突然同事提到 ...

    C&num; 中的枚举类型 enum (属于值类型)

    原文 C# 中的枚举类型 enum (属于值类型) C# 支持两种特殊的值类型:枚举和结构. 声明枚举:声明时要声明所有可能的值. using System; using System.Collect ...

    深入理解Java枚举类型&lpar;enum&rpar;

    https://blog.csdn.net/javazejian/article/details/71333103 深入理解Java类型信息(Class对象)与反射机制 深入理解Java枚举类型(en ...

    人生苦短之Python枚举类型enum

    枚举类型enum是比较重要的一个数据类型,它是一种数据类型而不是数据结构,我们通常将一组常用的常数声明成枚举类型方便后续的使用.当一个变量有几种可能的取值的时候,我们将它定义为枚举类型.在Python ...

    全面解读Java中的枚举类型enum的使用

    这篇文章主要介绍了Java中的枚举类型enum的使用,开始之前先讲解了枚举的用处,然后还举了枚举在操作数据库时的实例,需要的朋友可以参考下 关于枚举 大多数地方写的枚举都是给一个枚举然后例子就开始sw ...

    Java基础之枚举类型Enum的使用

    Java基础之枚举类型Enum的使用 定义 public enum AccruedCleanEnum { SPREAD("1","发票"),OTHER(&quo ...

    《挑战30天C&plus;&plus;入门极限》新手入门:C&sol;C&plus;&plus;中枚举类型&lpar;enum&rpar;

    新手入门:C/C++中枚举类型(enum) 如果一个变量你需要几种可能存在的值,那么就可以被定义成为枚举类型.之所以叫枚举就是说将变量或者叫对象可能存在的情况也可以说是可能的值一一例举出来. ...

    随机推荐

    Control Flow 如何处理 Error

    在Package的执行过程中,如果在Data Flow中出现Error,那么Data Flow component能够将错误行输出,只需要在组件的ErrorOutput中进行简单地配置,参考

    SpringMVC 配置log4j

    log4j.properties相关 http://www.cnblogs.com/ITEagle/archive/2010/04/23/1718365.html http://www.cnblogs ...

    html部分---表单、iframe、frameset及其他字符的用法(以及name、id、value的作用与区别);

    /action的作用是提交到..,methed是提交方法,用po ...

    Windows添加在此处打开命令CMD

    打开rededit在:HKEY_CLASS_ROOT > * > shell >下面新建一个项CMD 在CMD中新建两个字符串 一个是默认,值为 @shell32.dll,- 另外一 ...

    Android笔记——Bitmap自动取色(纯搬运)

    2015/6/12更新:发现一个更好的,带demo https://github.com/MichaelEvans/ColorArt 说明: 这个是一个老外写的自动自动从bitmap中取主色与第二主色 ...

    jQuery的extend详解

    JQuery的extend扩展方法:      Jquery的扩展方法extend是我们在写插件的过程中常用的方法,该方法有一些重载原型,在此,我们一起去了解了解.      一.Jquery的扩展方 ...

    jdk7u79linuxx64&period;tar&period;gz下载

    jdk1.7下载: 百度云盘链接:https://pan.baidu.com/s/1cQFLnS 密码:wdek

    &lbrack;转&rsqb;Cloudera Manager和CDH5&period;8离线安装

    https://blog.csdn.net/zzq900503/article/details/52982828 https://www.cnblogs.com/felixzh/p/9082344.h ...

    软件工程&lpar;FZU2015&rpar; 学生博客列表&lpar;最终版&rpar;

    FZU:福州大学软件工程 张老师的博客:http://www.cnblogs.com/easteast/ 经过前两周选课,最后正式选上课程的所有学生博客如下: 序号 学号后3位 博客 1 629 li ...

    IntelliJ Idea 使用笔记

    1. IntelliJ Idea解决Could not autowire. No beans of 'xxxx' type found的错误提示. 原因可能有两个,第一个是IntellijIDEA本身 ...

    展开全文
  • C语言枚举enum基本用法

    千次阅读 2019-07-04 16:34:28
    1.1枚举enum定义和调用 enum枚举最基本的用法是作为一个自定义的常量集合,比如enum ENUM{val1,val2...下面是一个枚举类型enum的定义和调用示例: enum EVal{val1,val2} Val; void Widget::on_pushButton_6_clic...
  • 本文举例说明C语言enum枚举关键字的用法。用来同时定义多个常量利用enum定义月份的例子如下。#include enumweek{Mon=1,Tue,Wed,Thu...
  • 一、声明共用体类型,定义枚举常量 方法 1 enum weekdays {Monday, Tuesday, Wednesday, Thursday, Friday}; weekdays day;...方法 2 ...enum weekdays {Monday, ...枚举类型内容 Monday Tuesday Wednesday...
  • C语言——enum枚举类型用法解析

    万次阅读 多人点赞 2018-05-25 17:13:19
    在实际的编程应用中,有的变量...要使用枚举类型的变量,首先需要先定义一个枚举类型名,然后再声明该变量是枚举类型的 例如: enum weekday{ \\该语句定义了一个`枚举类型` MONDAY, TUSEDAY, WEDNESDAY, ...
  • 枚举C语言的一种基本的数据类型 enum 枚举名 {枚举元素1,枚举元素2,……}; 我们以星期举例 enum DAY { MON=1, TUE, WED, THU, FRI, SAT, SUN }; 如果没有赋值,第一个枚举成员的默认值为整型的 0,后续...
  • 一、关键字enum的定义 enumC语言中的一个关键字,enum叫枚举数据类型,枚举数据类型描述的是一组整型值的集合(这句话其实不太妥当),枚举型是预处理指令#define的...typeName是枚举类型的名字,花括号里面的元素
  • JUDGE(S W ) 指 W 属于 S 枚举类型还是自定义函数里的2个变量不要太久太久不联系我,我怕我一不小心把你忘了。(1) 枚举型是一个集合,集合中的元素(枚举成员)是...enum :声明枚举类型 是什么意思就是你声明的这个枚...
  • enumC语言中的一个关键字,enum枚举数据类型枚举数据类型描述的是一组整型值的集合(这句话其实不太妥当),枚举型是预处理指令#define的替代,枚举和宏其实非常类似,宏在预处理阶段将名字替换成对应的值,...
  • 在实际编程中,有些数据的取值往往是有限的,只能是非常少量的整数,并且最好为每个值都取一个名字,以方便在后续代码中使用,比如一个星期只有七天,一年只有十二个月,一个班每周有六门课程等。以每周七天为例,...
  • enumenumC语言中的一个关键字,enum枚举数据类型枚举数据类型描述的是一组整型值的集合(这句话其实不太妥当),枚举型是预处理指令#define的替代,枚举和宏其实非常类似,宏在预处理阶段将名字替换成对应的值,...
  • 文章目录前言一、枚举类型的定义二、枚举类型使用1.创建变量2.一些优点2.读入数据总结 前言 生活中有很多地方会用到枚举,比如一周有7天,可以一一枚举;性别有男、女,可以一一枚举。。。今天来和笔者一起学习...
  • 枚举类型enum用法

    2020-08-20 06:01:11
    枚举常量是枚举类型中的值,即枚举值。枚举类型是一种用户定义的类型,只有用户在程序中定义它后才能被使用
  • C语言枚举enum用法

    2020-10-09 14:38:25
    枚举enum)通过一种简单的途径,把一串名字与一串整形值联系在一起。可以代替#define声明 。但优点是#define定义的名字在编译时被丢弃,而枚举名字则通常在调试器中可见,可以在调试代码时使用它们。 使用举例 第...
  • C语言 -- 枚举类型enum

    2021-12-13 22:07:12
    枚举类型的定义、优点及其使用
  • c语言枚举类型用法

    2021-05-20 09:27:25
    枚举类型就相当于助记符,帮助程序员记忆的。比如现在要画一张地图,用到红黄蓝绿四种颜色。...此时就可以定义一个枚举类型enum color{Red,Yellow,Blue,Green},这样系统就会自动将0、1、2、3和这个...
  • 在实际编程中,有些数据的取值往往是有限的,只能是非常少量的整数,并且最好为每个值都取一个名字,以方便在后续代码中使用,比如一个星期只有七天,一年只有十二个月,一个班每周有六门课程等。以每周七天为例,...
  • c语言enum类型使用

    万次阅读 多人点赞 2019-01-09 14:02:14
    在程序中,可能需要为某些整数定义一个别名,我们可以利用预处理指令#define来完成这项工作,您的代码可能是: #define MON 1 ...在此,我们定义一种新的数据类型,希望它能完成同样的工作。这种...
  • C语言enum用法和注意事项(枚举类型

    万次阅读 多人点赞 2020-06-14 23:22:13
    C语言中有一个关键字是enum枚举类型,不知道大家平时用吗,但是enum关键字在有些时候是非常方面的。下面说一下使用enum关键字的几种情况。 定义 枚举类型定义用关键字enum标识,形式为: enum 标识符 { 枚举...
  • C语言-枚举类型enum

    2022-05-12 19:09:36
    C语言-枚举类型enum
  • c语言枚举类型enum

    万次阅读 多人点赞 2017-02-23 21:23:13
    enum枚举类型 1 . 如果一个变量只有几种可能的值,则可以定义为“枚举类型”;所谓“枚举”就是把可能的值一一的列举出来,变量的值只限于列举出来的值的范围。如: 语法: enum 枚举类型{枚举成员...
  • 文章目录enum枚举类型struct结构体类型union共用体类型 enum枚举类型 枚举应用:在实际中,有些值无论数值或者字符型的,取值在一个固定范围内,设计者提前知道其取值,但是每个变量只能取其中之一的值,这时可以...
  • C语言枚举类型使用

    2022-01-17 16:14:26
    我们知道在 C语言 中学习一种数据类型无非就是搞清楚这种类型的 声明 和 定义。...注意:这样声明的话 enum WEEKDAY 这个整体才是 WEEKDAY 枚举类型 typedef enum WEEKDAY { MON = 1, TUE, WED,

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,175
精华内容 6,070
关键字:

c语言枚举类型enum用法