精华内容
下载资源
问答
  • 对枚举类型定义的元素
    2021-12-17 11:20:57

    定义一个名为“eTest”的枚举类型

    typedef enum eTest
    {
        eTest_Fir= 0,  
        eTest_Sec= 1, 
        eTest_Thr= 2    
    };

    注意:

    1.枚举可以对枚举类型中的元素进行赋值;

    2.如未设定数值,默认是从0开始计数,依次加1;

    3.枚举类型中的元素不能出现相同名称的元素;

    更多相关内容
  • 定义:如果一种变量只有几种可能的值,可以定义枚举类型。所谓“枚举类型”是将变量的值一一列举出来,变量的值只能在列举出来的值的范围内。 声明:声明枚举类型用enum开头,例如: 代码如下:enum weekday{sun,...
  • 比如定义了一个错误的枚举类型 代码如下:public enum eErrorDetailCode : int { 登陆成功 = 0, 登出 = 1, 应用错误 = 2, 成功 = 16, 失败 = 17 } 需要引用 using System;  然后在循环中,遍历枚举对象的...
  • enum 枚举类型定义、遍历枚举元素、枚举在 switch 中的使用、将整数转换为枚举)

    1. enum(枚举类型)

    枚举是 C 语言中的一种基本数据类型,它可以让数据更简洁,更易读。

    枚举语法定义格式为:

    num 枚举名 {枚举元素1,枚举元素2,……};
    

    接下来我们举个例子,比如:一星期有 7 天,如果不用枚举,我们需要使用 #define 来为每个整数定义一个别名:

    #define MON  1
    #define TUE  2
    #define WED  3
    #define THU  4
    #define FRI  5
    #define SAT  6
    #define SUN  7
    

    上面的代码量比较大,现在我们使用枚举的方式来简化代码

    enum DAY
    {
          MON=1, TUE, WED, THU, FRI, SAT, SUN
    };
    

    注意:第一个枚举成员的默认值为整型的 0,后续枚举成员的值在前一个成员上加 1。我们在这个实例中把第一个枚举成员的值定义为 1,第二个就为 2,以此类推。

    可以在定义枚举类型时改变枚举元素的值:

    enum season {spring, summer=3, autumn, winter};
    

    没有指定值的枚举元素,其值为前一元素加 1。也就说 spring 的值为 0,summer 的值为 3,autumn 的值为 4,winter 的值为 5


    1.1 枚举变量的定义

    前面我们只是声明了枚举类型,接下来我们看看如何定义枚举变量。

    我们可以通过以下三种方式来定义枚举变量


    1.1.1 先定义枚举类型,再定义枚举变量

    enum DAY
    {
          MON=1, TUE, WED, THU, FRI, SAT, SUN
    };
    enum DAY day;
    

    1.1.2 定义枚举类型的同时定义枚举变量

    enum DAY
    {
          MON=1, TUE, WED, THU, FRI, SAT, SUN
    } day;
    

    1.1.3 省略枚举名称,直接定义枚举变量

    enum
    {
          MON=1, TUE, WED, THU, FRI, SAT, SUN
    } day;
    

    1.1.4 实例

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

    运行结果:
    在这里插入图片描述


    1.2 遍历枚举元素

    在C 语言中,枚举类型是被当做 int 或者 unsigned int 类型来处理的,所以按照 C 语言规范是没有办法遍历枚举类型的

    不过在一些特殊的情况下,枚举类型必须连续是可以实现有条件的遍历。

    以下实例使用 for 来遍历枚举的元素:

    #include <stdio.h>
    
    enum DAY {
        MON=1, TUE, WED, THU, FRI, SAT, SUN
    } day;
    int main() {
    	// 遍历枚举元素
    	for (day = MON; day <= SUN; day++) {
    		printf("枚举元素:%d \n", day);
    	}
    }
    

    运行结果:
    在这里插入图片描述
    类似以下枚举类型不连续,这种枚举无法遍历。

    enum
    {
        ENUM_0,
        ENUM_10 = 100,
        ENUM_11
    };
    

    1.3 枚举在 switch 中的使用

    示例代码:

    #include <stdio.h>
    #include <stdlib.h>
    int main() {
    
    	enum color { red=1, green, blue };
    
    	enum  color favorite_color;
    
    	/* 用户输入数字来选择颜色 */
    	printf("请输入你喜欢的颜色: (1. red, 2. green, 3. blue): ");
    	scanf("%u", &favorite_color);
    
    	/* 输出结果 */
    	switch (favorite_color) {
    		case red:
    			printf("你喜欢的颜色是红色");
    			break;
    		case green:
    			printf("你喜欢的颜色是绿色");
    			break;
    		case blue:
    			printf("你喜欢的颜色是蓝色");
    			break;
    		default:
    			printf("你没有选择你喜欢的颜色");
    	}
    
    	return 0;
    }
    

    运行结果:

    在这里插入图片描述


    1.4 将整数转换为枚举

    示例代码:

    #include <stdio.h>
    #include <stdlib.h>
    
    int main() {
    
    	enum day {
    	    saturday,
    	    sunday,
    	    monday,
    	    tuesday,
    	    wednesday,
    	    thursday,
    	    friday
    	} workday;
    
    	int a = 1;
    	enum day weekend;
    	weekend = ( enum day ) a;  //类型转换
    	printf("weekend:%d",weekend);
    	return 0;
    }
    

    运行结果:

    在这里插入图片描述



    展开全文
  • 枚举类型的使用和定义

    万次阅读 多人点赞 2019-04-17 11:07:33
    枚举类型定义 enum<类型名>{枚举常量表} typedef enum<类型名>{枚举常量表}类型别名; enum<类型名>{枚举常量表} 枚举变量名; //有时甚至可以省略类型名 enum {枚举常量表} 枚举变量名; 枚举...

    枚举类型的定义

    enum<类型名>{枚举常量表}
    typedef enum<类型名>{枚举常量表}类型别名;
    enum<类型名>{枚举常量表} 枚举变量名;
    //有时甚至可以省略类型名
    enum {枚举常量表} 枚举变量名;
    

    枚举类型的使用

    enum Weekday{Mon,Tue,Wed,Thu,Fri,Sat,Sun};
    Weekday weekday1=Mon;
    cou<<weekday<<endl;
    //输出为0 编译器会默认从0开始给枚举常量编号
    
    enum color {RED,GREEN=2,WHITE,BLACK} color1;
    //RED=0 GREEN=2,WHITE=3,BLACK=4
    //编译器会根据用户给枚举常量赋的值 顺序给后面的常量赋值 枚举常量的只可以重复
    

    注意:不同的枚举类型的枚举常量表中的元素不能相同 否则会报错重定义
    如果我们有两个枚举常量相同的枚举类型 可以使他们在不同的命名空间里定义
    例如:

    enum Color_set1 {RED,WHITE,BLACK};
    enum Color_set2 {GREEN,BLUE,RED};
    //编译时报错 
    

    不能直接给枚举变量赋整数型初始值;
    枚举变量能直接输出 不能直接输入
    不同类型的枚举变量不能相互赋值

    展开全文
  • 先看这样一段代码,你认为是的还是错的呢? enum boolean{true,false}; boolean bl=false; 乍一看还真以为是的,其实,这样写是错的,boolean 未定义。...①:定义枚举类型 enum boolean{true,f

    先看这样一段代码,你认为是对的还是错的呢?

    enum boolean{true,false};
    boolean bl=false;
    

    乍一看还真以为是对的,其实,这样写是错的,boolean 未定义。

    报错如下:

    image-20210424105134414

    应该这样定义 enum boolean b1=false;,但是如果非要用 boolean 来定义变量的话,就需要对其重定义了

    如:typedef enum boolean boolean;

    也就是说我们想直接用枚举名来定义变量需要两步

    ①:定义枚举类型

    enum boolean{true,false};
    

    ②:对枚举变量名重定义

    typedef enum boolean boolean;
    

    接着就可以用枚举名定义变量了,但是,这其实也可以一步搞定

    如下:

    typedef enum boolean {
    	false = 0, true = !false
    } boolean;
    

    再来看看人家的解释吧

    image-20210424110556448

    举个例子说明一下:

    #include <stdio.h>
    
    enum DAY1
    {
          MON1=1, TUE1, WED1, THU1, FRI1, SAT1, SUN1
    };
    /*
    enum DAY1
    {
          MON1=1, TUE1, WED1, THU1, FRI1, SAT1, SUN1
    } day1;	//定义枚举类型的同时定义枚举变量也可以
    */
    
    enum DAY2
    {
          MON2=10, TUE2, WED2, THU2, FRI2, SAT2, SUN2
    };
    typedef enum DAY2 DAY2;
    
    typedef enum boolean {
    	false = 0, true = !false
    } boolean;
     
    
    int main()
    {
    	enum DAY1 day1;			//若是用DAY1 day1 则是错误的
    	DAY2 day2;				//已经对DAY2 重定义过,正确
    	boolean b = false;		//boolean重定义过了,所以可以
    	if(b == true)
    	{
    		 // 遍历枚举元素
    		for (day1 = MON1; day1 <= SUN1; day1++) {
    			printf("枚举元素1:%d \n", day1);
    		}	
    	}
    	else if(b == false)
    	{
    		// 遍历枚举元素
    		for (day2 = MON2; day2 <= SUN2; day2++) {
    			printf("枚举元素2:%d \n", day2);
    		}
    	}
       
    }
    

    运行结果:

    image-20210424111736258

    展开全文
  • 上面声明了一个枚举类型weekday,花括号中sun, mon, …, sat等称为枚举元素或枚举常量。表示这个类型的变量的值只能是以上7个值之一。它们是用户自己定义的标识符。 声明枚举类型的一般形式为: enum 枚举类型名{...
  • 枚举类型常用于定义常量类型优势:·类型安全·紧凑有效的数据定义·可与其他程序交互·运行效率高一般以内部类形式存在,枚举类型的构造方法一般以private修饰。通俗定义方法:public enum 类名{ 常量名.... }...
  • 一、声明共用体类型,定义枚举常量 方法 1 enum weekdays {Monday, Tuesday, Wednesday, Thursday, Friday}; weekdays day;...enum weekdays {Monday, Tuesday,...枚举类型内容 Monday Tuesday Wednesday...
  • 3枚举类型是一种基本的数据类型,数据类型中的元素是系统认定的,和整型,字符型浮点型数据类型同级别。不存在全局,局部之说。而用枚举类型声明定义的变量是有局部和全局说法的 以每周七天为例,我们可以使用#...
  • 【C语言】枚举类型

    千次阅读 2020-07-09 20:33:21
    当我们在编程中遇到定义一些固定长度或范围的数值时,可以考虑使用枚举类型。使用枚举可以让我们的程序可读性更强、看起来更加直观。举个例子,如果我们在编程中需要使用数字0-6分别表示星期日-星期六,程序的可读性...
  • 定义一个集合类setColour,要求元素枚举类型值。例如, enum colour { red, yellow, blue, white, black }; 集合类实现交、并、差、属于、蕴含、输入、输出等各种基本运算。设计main函数测试setColour类的功能。 ...
  • 有这个疑问说明你已经摸索到了枚举类型的主要功能:以统一命名的常量来替换变化无常的直接量,这是毫无疑问是枚举的主要作用,在大多数情况下,用static final是足够的,所以N多知名的源码里我们会经常看到用static ...
  • SV枚举类型

    2021-09-13 20:28:46
    枚举类型默认的值为int,若未在声明中指定数值,则第一个值为0,第二个值为1,依次递增;若在声明中需要指定数值,则必须满足所有的数值必须唯一这一条件,对于没有指定的元素,其数值是按照前一个元素的数值加1 ...
  • 注意:枚举类型和结构体都属于值类型。 结构体:就是一个自定义的集合,里面可以放各种类型的元素,用法大体跟集合一样。  一、定义的方法: struct student { public int nianling; public int fenshu; public...
  • 枚举类型(也称为枚举)为定义一组可以赋给变量的命名整数常量提供了一种有效的方法。例如,假设您必须定义一个变量,该变量的值表示一周中的一天。该变量只能存储七个有意义的值。若要定义这些值,可以使用枚举类型...
  • C语言枚举类型详解

    千次阅读 2022-03-14 08:45:30
    文章目录基本定义枚举的遍历枚举在switch中的使用枚举类型使用注意事项和细节 基本定义 举个例子,比如:一星期有 7 天, 请定义数据表示星期一到星期天. 传统方法 使用#define 来完成 #define MON 1 #define TUE 2...
  • 枚举类型定义的一般形式为: enum 枚举名 { 枚举值表 }; 在枚举值表中应罗列出所有可用值,这些值也称为枚举元素。 例如:enum weekday { sun,mon,tue,wed,thu,fri,sat }; 5-2 枚举类型变量的赋值和使用 枚举类型在...
  • 枚举类型简单理解

    千次阅读 2019-07-23 16:08:16
     枚举类型声明为一组相关的符号常数定义了一个类型名称。枚举用于“多项选择”场合,就是程序运行时从编译时已经设定的固定数目的“选择”中做出决定。  枚举类型(也称为枚举)为定义一组可以赋给变量的命名整数...
  • 单例的枚举实现在《Effective Java》中有提到,因为其功能完整、使用简洁、无偿地提供了序列化机制、在面对复杂的序列化或者反射攻击时仍然可以绝对防止多次实例化等优点,单元素枚举类型被作者认为是实现...
  • 前言 当项目中遇到比较多的枚举字段时怎么...tinyint可以校验插入的值为自己定义的数值且索引友好但是显示不友好,varvhar可以直接在表中显示字段值但索引又不友好。 两种都不是最优选择,后来MySQL出现了e...
  • C#枚举类型和结构体

    2020-12-22 20:33:44
    注意:枚举类型和结构体都属于值类型。  结构体:是一个自定义的集合,里面可以放各种类型的元素,用法大体跟集合一样。  一、定义的方法:  struct student  {  public int nianling;  public int ...
  • c语言枚举类型的用法

    千次阅读 2021-05-20 09:27:25
    枚举类型就相当于助记符,帮助程序员记忆的。比如现在要画一张地图,用到红黄蓝绿四种颜色。...此时就可以定义一个枚举类型enum color{Red,Yellow,Blue,Green},这样系统就会自动将0、1、2、3和这个...
  • enum枚举类型用法

    千次阅读 2021-02-24 12:53:13
    在实际的编程应用中,有...之所以被称为枚举类型,就是因为命名常量是作为数据类型定义的一部分而枚举或列出的,以下是枚举类型声明的示例: enum Roster { //该语句定义了Roster这一枚举类型 Tom, Sharon, Bill,
  • 深入理解Java枚举类型(enum)

    万次阅读 多人点赞 2017-05-13 18:27:14
    【版权申明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) ... 出自【zejian的博客】 关联文章: 深入理解Java类型信息...深入理解Java枚举类型(enum) 深入理解Java注解类型(@Annotation) 深入理解
  • 枚举类型定义和枚举变量的说明

    千次阅读 2019-09-24 01:56:18
    枚举的定义枚举类型定义的一般形式为: enum 枚举名{ 枚举值表 }; 在枚举值表中应罗列出所有可用值。这些值也称为枚举元素。 例如: 该枚举名为weekday,枚举值共有7个,即一周中的七天。凡被说明为weekday类型...
  • 为什么要使用“结构”(结构体) 但需要表示一些复杂信息时,使用单纯的数据类型很不方便。 比如:学生信息(学号...结构的定义 struct 结构名 { 成员类型 成员名; 成员类型 成员名; }; 比如: struct student { ...
  • 一、枚举的概念 枚举是C语言中的一种基本数据类型,并不是构造类型,它可以...前面只是定义了枚举类型,接下来就可以利用定义好的枚举类型定义变量。 跟结构体一样,有3种方式定义枚举变量 1.先定义枚举类型,再定义
  • 前期回顾   结构体基础知识点(一)–建立自己的数据... 使用枚举类型 1. 什么是枚举类型   如果一个变量只有几种可能的值,则可以定义为枚举(enumeration)类型,所谓枚举,就是把可能的值一一列举出来,变量...
  • 在 C语言中这样取值比较特殊的变量可以定义枚举类型。所谓枚举是指将变量的值一一列举出来,变量只限于列举出来的值的范围内取值。定义一个变量是枚举类型,可以先定义一个枚举类型名,然...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 141,285
精华内容 56,514
热门标签
关键字:

对枚举类型定义的元素