首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C语言枚举类型

C语言枚举类型常年跑龙套当配角,不受待见,这当然是有其个人原因。今天来个小知识,看看枚举为什么那么衰,也顺便看看怎么用。 我们先来回忆一下为什么需要枚举枚举究竟是个什么东东?...第二,使用单词而不是数字,提高程序可读性。 这么看来,枚举是一种挺好玩也挺有用东西,但是在C语言中怎么就不受待见了呢?...原因是C语言只提供了一种阉割版枚举,以上两大目的在C中实质上都是没有实现,也就是说,在C语言中,实际情况是这样: color = blue; // 正确,此时color就是5 color = 5;...你看明白了吧,C语言所谓枚举其实就是个坑爹货,其实就是彻头彻尾整型数据而已。...枚举真正实现,在C++中才有实现。

1.8K30

C语言——枚举类型

一,什么是枚举类型 简单来说,枚举类型就是可以让我们给整数值分配有意义名字,从而使得代码更易读、易维护 二,枚举类型定义和变量声明 1,如何定义和声明 枚举类型定义和变量声明方式也与结构体和联合体相似...(一)枚举类型定义 enum 枚举名 { 成员项表列 }; (二)枚举变量声明 enum 枚举名 变量名 举例:我们定义一个代表颜色枚举类型,然后创建一个枚举变量a enum color...如果我们在创建枚举变量时,为未给成员进行初始化赋值,则C语言会自动赋值 遵循:默认从0开始,依次增1 如果只有前几个值,那么后面未被赋值成员也会被自动赋值,遵循依次增1 例子一(不赋值)...3,命名注意事项 同一个程序中不能定义同名枚举类型;不同枚举类型中,也不能存在同名枚举成员。...⭐C语言枚举变量通常只能被赋值为枚举类型中定义成员。

55411
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    9.6 C语言枚举类型

    01枚举 1、如果一个变量只有几种可能值,则可以定义为枚举类型,所谓“枚举”就是指把可能值一一列举出来,变量值只限于列举出来范围内。...2、枚举变量和其他数值型量不同,它们值只限于花括号中指定值之一。 3、枚举常量是由程序设计者命名,用什么名字代表什么含义,完全由程序员根据自己需要而定,并在程序中作相应处理。...4、一般形式 enum[枚举名]{枚举元素列表},其中枚举名应遵循标识符命名规则。 5、C编译对枚举类型枚举元素按常量处理,故称枚举常量。不要因为他们是标识符而把他们看作变量,不能对他们赋值。...6、每一个枚举元素都代表一个整数,C语言编译按定义时顺序默认它们值为0,1,2,3,4,5……。 7、枚举元素可以用来判断比较。...C语言 | 逆序输出10个数 更多案例可以go公众号:C语言入门到精通

    9372725

    C语言枚举类型(enum)

    前言 在本文,我们将学习一个自定义类型——枚举。相信很多读者听到这个并不会感觉到陌生,那么本文就来着重跟大家聊一聊何为枚举类型,能用枚举类型干什么事。 话不多说,让我们开始本次精彩学习吧!...枚举类型声明 在讲完枚举含义之后,我们就来认识一下,在C语言中是如何声明一个枚举类型。...以上定义enum Day,enum Sex,enum Color都是枚举类型。 {}里面的值就是枚举类型可能取值,也叫做枚举常量。 这些可能取值都是有值,默认是从0开始,依次递增1。...当然在声明枚举类型时候可以给枚举常量赋初值。...那我们是否可以拿整数给枚举变量赋值呢?在C语言中时允许,但在C++中时不行C++对于类型检查是比较严格

    7510

    c语言枚举类型enum例子_枚举是什么意思

    在实际编程应用中,有的变量只有几种可能取值,譬如说一个星期七种可能,性别的两种可能等等。C语言为这种类型变量定义提供了enum关键字。...要使用枚举类型变量,首先需要先定义一个枚举类型名,然后再声明该变量是枚举类型 ---- 例1: enum WEEKDAY{ \\该语句定义了一个枚举类型 MONDAY = 1,...同一枚举类型不同枚举常量可以具有相同枚举类型为建立常量值与标识符之间关联提供了一种便利方式。...相对于#define语句来说,它优势在于常量值可以自动生成 尽管可以声明枚举类型变量,但编译器不检查这种类型变量中存储值是否为该枚举类型有效值,不过,枚举类型变量提供这种检查 注意: 不能对枚举常量进行赋值操作...(定义枚举类型时除外) 枚举常量和枚举变量可以用于判断语句,实际用于判断是其中实际包含值 一个整数不能直接赋值给一个枚举变量,必须用该枚举变量所属枚举类型进行类型强制转换才行 使用常规手段输出无法输出枚举常量所对应字符串

    1.1K20

    C语言——自定义类型枚举

    前言 本文介绍自定义类型枚举 一、枚举 枚举,通俗来讲就是一一列举 要注意枚举枚举常量是有限个数 例如,三原色:红黄蓝;性别:男、女、保密;…… 二、定义与声明 #define _CRT_SECURE_NO_WARNINGS..., 一般默认第一个枚举常量值是0,后面的每一个枚举常量值都是给前一个值加一; 如果给第一个枚举常量进行赋值,则后面的枚举常量也会随之变化,规则也是加一。...三、枚举优点 1.增加了代码可读性和可维护性 例如:之前编写小游戏主菜单就可以用枚举来将switch选择中0、1、2进行替换,更方便阅读。...,因此不能对宏定义进行调试,而枚举可以被调试】 ②枚举类型类型检查更加严谨(C语言中体现不多,但是C++会体现); 【只能拿枚举常量给枚举变量赋值才不会出现类型差异】 ③使用更方便,一次可以定义多个变量...---- 总结 本文主要介绍了自定义类型结构体类型相关知识,希望这篇文章对你理解结构体有所帮助。

    35120

    C语言结构体、联合与枚举类型

    于是C语言就定义了一个不同类型数据集合数据结构 ————结构体。...准确来说,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂数据结构。...在进行某些算法C语言编程时候,需要使几种不同类型变量存放到同一段内存单元中。也就是使用覆盖技术,几个变量互相覆盖。...这种几个不同变量共同占用一段内存结构,在C语言中,被称作“共用体”类型结构,简称共用体,也叫联合体。...等等,其实啊枚举应用非常广泛,我们在用C语言中型大型项目里面常常会用到枚举类型,比如在写植物大战僵尸游戏,现在要求你把植物卡槽写满,你该怎么办,难道用1代表这个植物2代表那个植物?

    11410

    C++枚举类型

    C++枚举类型C++中,如果一个变量只有几种可能值,可以定义为枚举类型枚举是指将变量值一一列举出来,变量值只能在列举出来范围内。  C++声明枚举类型用enum开头。...C++声明枚举类型一般形式为 enum 枚举类型名 {枚举常量表列}; C++在声明了枚举类型之后,可以用声明枚举来定义变量。...学过C语言读者应该知道,枚举类型名包括关键字enum,但是在C++中允许不写enum,一般也不写enum,但保留了C语言用法。 ...关于C++枚举,以下六点读者需要知道: C++对枚举元素按常量处理,故称枚举常量。 C++枚举元素作为常量,它们是有值C++编译按定义时顺序对它们赋值为0,1,2,3,…。...C++可以在声明枚举类型时另行指定枚举元素值。 C++枚举值可以用来做判断比较。 C++中一个整数不能直接赋给一个枚举变量。 10.1 C++枚举类型 更多案例可以go公众号:C语言入门到精通

    1K128

    C语言:自定义类型——联合和枚举

    二、枚举类型 2.1 枚举类型声明 枚举顾名思义就是⼀⼀列举。 把可能取值⼀⼀列举。...2.2 枚举类型优点 1、增加代码可读性和可维护性 比如我们在实现游戏时常常会这样去写 此时如果不和菜单建立联系 我们并不能一下子就看出来case1和case0含义,可读性较差,可如果在这边使用枚举类型...2、 和#define定义标识符⽐较枚举类型检查,更加严谨。...#define定义标识符是不过是一个符号,而枚举是一种类型,有类型检查写代码会更加严谨 3、 便于调试,预处理阶段会删除 #define 定义符号 枚举类型在调试时候会显示出成员名,但是#define...2.3 枚举类型使用 使用方法:使⽤枚举常量给枚举变量赋值 那是否可以拿整数给枚举变量赋值呢? 在C语⾔中是可以,但是在C++是不⾏C++类型检查⽐ 较严格。

    22310

    C语言共用体与枚举类型-学习三十

    共用体类型声明格式: union 共用体名{ 数据类型 成员名1; 数据类型 成员名2; .......c 或 pd ->c、d1.f 或 pd ->f 同类型共用体变量之间可以互相赋值。...如果一个变量只有几种可能值,则可以定义为枚举(enumration)类型, 所谓“枚举”就是把可能值一一列举出来,变量取值限于列举出来范围内。...枚举类型声明格式: enum 枚举类型名{ 枚举元素列表 // 枚举元素之间以逗号间隔 }; 枚举变量定义: 1.先声明枚举数据类型,再定义枚举变量 enum week{...枚举类型使用时需注意以下几点: 1.枚举元素是常量,有固定值,不能将其作为变量使用 例如: sun=0; mon = 1 错误,不能为枚举元素赋值 2.每一个枚举元素都代表了一个整数,编译程序按定义时顺序默认它们值为

    54210

    C语言】自定义类型:联合和枚举

    枚举类型声明 枚举即列举,把可能取值一一列举出来。...{} 里面的内容是枚举类型可能取值,也叫 枚举常量。 这些可能取值都是有值,默认从0开始,依次递增1,在声明枚举类型时候也可以赋初值。...枚举类型优点 我们可以使用 #define 定义常量,为什么要使用枚举类型?...增加代码可读性和可维护性; 和 #define 定义标识符比较枚举类型检查,更加严谨; 便于调试,预处理阶段会删除 #define 定义符号; 使用方便,一次可以定义多个常量; 枚举常量遵循作用域规则...枚举类型使用 enum Color { RED=3; GREEN=6; }; enum Color clr = GREEN; //使用枚举常量给枚举变量赋值 完——

    6910

    C语言----自定义类型:联合和枚举

    printf("小端\n"); } else { printf("大端\n"); } return 0; } 2.枚举类型 枚举类型声明 枚举顾名思义就是一一列举意思...就是将可能值一一列举出来 我们可以声明枚举类型 枚举关键字是enum //struct A //{ // int _a : 2; // int _b : 5; // int _c...0; } 枚举类型优点 那么我们为什么使用枚举呢?...为什么使⽤枚举? 我们可以使⽤ #define 定义常量,为什么⾮要使⽤枚举枚举优点: 增加代码可读性和可维护性 和#define定义标识符⽐较枚举类型检查,更加严谨。...所以这么进行赋值是对 //enum Sex sex1 = 3;这么赋值就是错,因为3类型是整型,但是赋值前面的枚举类型 //因为类型是不一样,所以我们不能进行赋值 return

    9610

    C语言——N自定义类型:联合和枚举

    return 0; } 二、枚举类型 1、枚举类型声明 ⽐如我们现实⽣活中: ⼀周星期⼀到星期⽇是有限7天,可以⼀⼀列举 性别有:男、⼥、保密,也可以⼀⼀列举 ⽉份有12个⽉,也可以⼀⼀...{ }中内容是枚举类型可能取值,也叫 枚举常量 。 这些可能取值都是有值,默认从0开始,依次递增1,当然在声明枚举类型时候也可以赋初值。...enum Color//颜⾊ { RED = 2, GREEN = 4, BLUE = 8 }; 2、枚举类型优点 为什么使用枚举?...我们可以使用 #define 定义常量,为什么非要使用枚举枚举优点: 1. 增加代码可读性和可维护性; 2. 和#define定义标识符⽐较枚举类型检查,更加严谨; 3....在C语⾔中是可以,但是在C++是不⾏C++类型检查⽐较严格。

    11410

    Go语言 枚举类型

    package mainimport "fmt"//1.枚举使用// 枚举指一系列相关常量,比如下面关于一个星期中每天定义。...通过上一节例子,我们// 看到可以用在 const 后跟一对圆括号方式定义一组常量,这种定义法在Go语言中通常用于定义// 枚举值。Go语言并不支持众多其他语言明确支持 enum 关键字。...//3 Thursday //4 Friday //5 Saturday //6 //同Go语言其他符号(symbol)一样,以大写字母开头常量在包外可见。...numberOfDays )//2.类型/* Go语言内置以下这些基础类型 布尔类型 : bool 整型: int,int8,int16,int32,int64,uint,uint8,uint16,...错误类型: error 此外,Go语言也支持以下符合类型 指针:pointer 数组:array 切片:slice 字典:map 通道:chan 结构体:struct 接口:interface */func

    78980

    【熟视C语言】自定义类型枚举详解

    枚举 枚举,也就是列举。现实生活中有很多这种可以列举出来事物,比如星期一星期二这样有限天数,性别的种类,月份等等。...枚举类型定义 以下几个为枚举类型定义演示: enum day//星期 { Mon, Tues, Wed, Thur, Fri, Sat, Sun }; enum gender//性别...{ male, female, unknown }; 上面的enum day、enum gender就是枚举类型,而括号内内容就是枚举类型可能取值,也叫枚举常量。...枚举优点: 增加代码可读性和可维护性。 和#define定义标识符相比,枚举类型检查,更严谨。 防止命名污染(封装)。 便于调试。 使用方便,一次可以定义多个常量。...main() { enum Example a = Example1;//只能拿枚举常量给枚举变量赋值,避免出现类型差异 a = 4;//虽然在我使用上vs编译器上能编译成功,但是这是一个危险且非法赋值

    12610

    c++枚举类型enum输出_python中枚举

    目录: 一.Enum枚举含义: 二.Enum枚举声明(举例说明): 三.Enum枚举特点(举例介绍): 四.Enum枚举作用: 五.Enum枚举注意事项(举例说明): 一.Enum枚举含义:...Enum枚举:枚举是一组命名整型常量,枚举类型是使用 enum 关键字声明。...枚举是值类型,数据直接存储在栈中,而不是使用引用和真实数据隔离方式来存储,其包含自己值,且不能被继承或者传递继承,枚举中每个元素基础类型是 int。可以使用冒号指定另一种整数值类型。...1. enum_name 指定枚举类型名称。...在给枚举类型实例赋值时,VS.NET IDE会通过IntelliSense弹出一个包含可接受值列表框,减少了按键次数,并能够让我们想起有那些值可以使用 五.Enum枚举注意事项(举例说明): enum

    1.5K40
    领券