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

C语言 | 枚举概述

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

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

C语言枚举类型)

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

1.8K30

C语言笔记】枚举

其可以与typedef来进行类比进行理解(可查看【C语言笔记】define与typedef区别?)。除此之外,其还可以与枚举enum进行类比。 二、什么是枚举 从字面理解,就是一一列举意思。...枚举成员是根据前一个成员递增1,即上面枚举定义等价于: enum DAY { MON=1, TUE=2, WED=3, THU=4, FRI=5, SAT=6, SUN=7 }; 若上述定义中第一个成员...若其他成员赋了初值,也是遵循“枚举成员是根据前一个成员递增1”这一规则,如: enum DAY { A,B,C=100,D,F=200,G }; 此处 A=0 B=1 C=100 D=101...四、枚举变量占用字节数?...从该程序运行结果也可看出,枚举类型变量需要存放是一个整数,它长度和int长度相同。 以上就是关于枚举类型enum一些笔记,如有错误欢迎指出。 最后,分享两篇关于枚举文章,都讲得很详细。

90751

C语言 | 枚举概述

在编程方面有着天赋异禀的人毕竟是少数,我们大多数人想要从C语言小白进阶到高手,需要经历是日积月累学习。 那么如何学习呢?当然是每天都练习一道C语言题目!! ? 作者 闫小林 白天搬砖,晚上做梦。...C语言枚举简述 在C语言中,如果一个变量只有几种可能,则可以定义为枚举类型,所谓“枚举”就是指把可能一一列举出来,变量只限于列举出来范围内。...枚举变量和其他数值型量不同,它们只限于花括号中指定之一,枚举常量是由程序设计者命名,用什么名字代表什么含义,完全由程序员根据自己需要而定,并在程序中作相应处理。...一般形式 enum[枚举名]{枚举元素列表} 其中枚举名应遵循标识符命名规则。 C语言编译对枚举类型枚举元素按常量处理,故称枚举常量。...不要因为他们是标识符而把他们看作变量,不能对他们赋值,但枚举元素可以用来判断比较。 每一个枚举元素都代表一个整数,C语言编译按定义时顺序默认它们为0,1,2,3,4,5……。

57410

C语言——枚举类型

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

13010

Objective-C 枚举注释

枚举特别多时候,想每一个枚举都具体注释提示的话,就只能在每个枚举上一行加上/// ···或/** ··· */,但是会让代码显得不整齐(可能是我强迫症?)...,如果需要给每个枚举增加一个简短注释,并且在使用时候有注释提示可以这样写。 - 带提示代码后单行注释 ://!< ··· 或多行注释: /**< ··· */和 /*!...< ··· */ /// 测试枚举 typedef NS_ENUM(NSUInteger, ZYTestType) { ZYTestTypeA, //!...< 类型C */ }; 枚举注释 这种注释方法,同样适合类属性注释或者结构体属性注释。...,OC也是可以用,现在Xcode command+option+/出来默认就是这个了 /// 测试方法 /// /// 返回一个数组 /// @param str 传入参数 /// @return

1.4K20

9.6 C语言枚举类型

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

9052725

swift 枚举(枚举关联枚举原始、递归枚举等)

Swift 枚举可以用来存储任意类型关联 声明存储不同类型关联枚举成员(这个定义不提供任何Int或String类型关联) 一个成员是(Int,Int,Int)类型关联num 一个成员是...= "C" case winter = "D" } 注意: 原始和关联是不同。...原始是在定义枚举时被预先填充。对于一个特定枚举成员,它原始始终不变。关联是创建一个基于枚举成员常量或变量时才设置枚举成员关联可以变化。...原始隐式赋值 当使用整数作为枚举成员原始时,隐式赋值依次递增1 enum Season:Int { case spring = 1 case summer case...autumn case winter } 当使用字符串作为枚举类型原始时,每个枚举成员隐式原始为该枚举成员名称 enum Season:String { case spring

19210

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

在实际编程应用中,有的变量只有几种可能取值,譬如说一个星期七种可能,性别的两种可能等等。C语言为这种类型变量定义提供了enum关键字。...在没有显式说明情况下,枚举类型中第一个枚举常量为0,第二个为1,以此类推。...如果只指定了部分枚举常量,那么未指定枚举常量将依着最后一个指定向后递增(步长为1) 不同枚举类型中枚举常量名字必须互不相同。...同一枚举类型中不同枚举常量可以具有相同 枚举类型为建立常量值与标识符之间关联提供了一种便利方式。...相对于#define语句来说,它优势在于常量值可以自动生成 尽管可以声明枚举类型变量,但编译器不检查这种类型变量中存储是否为该枚举类型中有效,不过,枚举类型变量提供这种检查 注意: 不能对枚举常量进行赋值操作

1K20

枚举以及联合体--C语言

枚举 枚举定义 枚举顾名思义就是一一列举。 把可能取值一一列举。 一周星期一到星期日是有限7天,可以一一列举。 性别有:男、女、保密,也可以一一列举。...,也叫枚举常量。...枚举优点 我们可以使用#define 定义常量,为什么非要使用枚举枚举优点: 增加代码可读性和可维护性 和#define定义标识符比较枚举有类型检查,更加严谨。...) 联合体特点 //联合类型声明 union Un { char c; int i; }; //联合变量定义 union Un un; //计算联合变量大小 printf("%d\n", sizeof...以上就是自定义类型中枚举和联合体介绍以及用法解释,自定义类型使用是十分灵活,需要我们好好领悟,要是文章有哪些错误,希望各位在评论区可以指正,我们一起进步!

45720

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

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

29820

C语言之最

大家应该都知道整型数最小与最大 ? 那浮点数呢?有点复杂!而且任意区间内,浮点数量都是无限。所以计算机中表示浮点肯定是跳跃式。...float(符号占1位,指数占8位,尾数小数占23位)如下 111111111尾数23位不全为0,例如0xFF800001: 表示不是数值,VxWorks中用NaN表示无效数值 11111111100000000000000000000000...double(符号占1位,指数占11位,尾数小数占52位)如下 111111111111尾数52位不全为0,例如0xFFF0000000000001: 表示不是数值 111111111111尾数...*10308 100000000001尾数52位全为0 = 0x8010000000000000: 表示最大负数,即-2-1022,约等于-2.225074*10-308 000000000000尾数...可以看到,因为表示浮点是不连续,所以存在最大负数和最小正数之类浮点数 我是泰山,专注VX 15年! 一起学习,共同进步!

1.2K10
领券