又爱又恨系列之枚举enum
其实枚举挺简单的,只不过以前没好好学,所以不知道这个东西,恩,现在梳理一下
整体而言,首先枚举是一个数据类型,这个数据类型和结构体有点像
可以分为三个层次
1.枚举数据类型定义
第一种:enum 枚举名 {
枚举元素 1,
枚举元素 2,
......,
......
}
eg:
enum week{Sun,Mon,Tue,Wed,Thu,Fri,Sat};
2.枚举变量的定义
主要有两种方式
方式一:根据1中定义的数据类型定义枚举变量
enum week Workday,Holiday;
方式二:在定义枚举数据类型的同时定义变量,这种方式有两种方法
        方法一:不省略枚举名
enum week{Sun,Mon,Tue,Wed,Thu,Fri,Sat}Workday,Holiday;
方法二:省略枚举名
enum {Sun,Sun,Mon,Tue,Wed,Thu,Fri,Sat}Workday,Hoiday;
注:方法二不能再另外定义变量
3.枚举变量的引用
常规的引用是:
Workday=Mon;
Hoiday=Sun;
但是另外要注意几点:
1.定义数据类型中的枚举元素是常量!!禁止对他进行赋值等操作,如 :Mon=1;Sun=Mon;都不
2.枚举元素在定义时就已经由系统自动给了一个整数值,默认第一个枚举元素的值为0,其后的每个枚举元素顺序加1,
如果认为赋值,则已赋值的按照人为赋值,没有人为赋值的在前一个元素的基础上加1
例如:enum week{Sun=4,Mon=2,Tue,Wed,Thu,Fri,Sat}
则sun=4 mon=2 Tue=3,Wed=3,Thu=4,Fri=5,Sat=6;
3.枚举常量和枚举变量在输出时都是一个整数,因此格式控制说明符应该为%d
4.枚举值可以进行比较,比较时,以他们的整数值比较
恩,OK,就这些了,希望又爱又恨的东西全部变成爱
又爱又恨系列之枚举enum的更多相关文章
- MySQL字段之集合(set)枚举(enum)
		
MySQL字段之集合(set)枚举(enum) (2008-12-23 13:51:23) 标签:it 分类:MySQL 集合 SET mysql> create table jihe(f1 ...
 - 枚举 enum
		
typedef enum : NSUInteger { <#MyEnumValueA#>, <#MyEnumValueB#>, <#MyEnumValueC#>, ...
 - 谈谈Nancy中让人又爱又恨的Diagnostics【上篇】
		
前言 在Nancy中有个十分不错的功能-Diagnostics,可以说这个功能让人又爱又恨. 或许我们都做过下面这样的一些尝试: 记录某一个功能用到的相关技术信息 记录下网站的访问记录 全局配置某些框 ...
 - 枚举enum学习小记
		
参考文献: [1]C++程序设计语言(特别版), 裘宗燕译, 机械工业出版社 [2]C++ Primer (3rd Ed.), S.B. Lippman and J. Lajoie, 人民邮电出版社 ...
 - Java 枚举(enum) 详解7种常见的用法
		
Java 枚举(enum) 详解7种常见的用法 来源 https://blog.csdn.net/qq_27093465/article/details/52180865 JDK1.5引入了新的类型— ...
 - Python 枚举 enum
		
Python 枚举 enum enum 标准模块在 3.4 版本才可以使用,3.3 以下版本需要独立安装:https://pypi.python.org/pypi/enum34#downloads,官 ...
 - 【转】结构struct 联合Union和枚举Enum的细节讨论
		
结构struct 联合Union和枚举Enum的细节讨论 联合(Union)是一种构造数据类型,它提供了一种使不同类型数据类型成员之间共享存储空间的方法,同时可以实现不同类型数据成员之间的自动类型转换 ...
 - 枚举Enum和常量0之间的恩怨
		
1,任何为0的常量表达式都能隐式的转换成枚举Enum. 对于这一点,在程序中没少吃苦头.特别是对于函数重载的情况,往往让人一头雾水. 看看下面的代码(摘自MSDN),你能猜到输出吗? public e ...
 - C++和Java中枚举enum的用法
		
在C++和java中都有枚举enum这个关键字,但是它们之间又不太一样.对于C++来说,枚举是一系列命名了的整型常量,而且从枚举值转化为对应的整型值是在内部进行的.而对于Java来说,枚举更像一个类的 ...
 
随机推荐
- 表单事件onsubmit与onreset
			
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
 - 如何为logo配色
			
原网链接:http://design.jobbole.com/125287/ 色彩是带有情绪的.我们能感知到的色彩能带来各种各样的情绪,也能传达一种思想或一种文化. 企业logo的色彩就是利用上面的原 ...
 - C#将JSON字符串对象序列化与反序列化
			
C#将对象序列化成JSON字符串 public string GetJsonString() { List<Product> products = new List<Product& ...
 - adb 常用命令
			
1.adb shell dumpsys SurfaceFlinger 查看window层结构
 - QT 数据库编程二
			
//logindlg.cpp #include "logindlg.h" #include <QGridLayout> #include <QHBoxLayout ...
 - node基础05:路由基础
			
1.基础实例 //server.js var http = require("http"); var url = require("url"); var rou ...
 - mybatis的物理分页:mybatis-paginator
			
github上有一个专门针对mybatis的物理分页开源项目:mybatis-paginator,兼容目前绝大多数主流数据库,十分好用,下面是使用步骤: 环境:struts2 + spring + m ...
 - Windbg调优Kafka.Client内存泄露
			
从来没写过Blog,想想也是,工作十多年了,搞过N多的架构.技术,不与大家分享实在是可惜了.另外,从传统地ERP行业转到互联网,也遇到了很所前所未有的问题,原来知道有一些坑,但是不知道坑太多太深.借着 ...
 - 生成 PDF 全攻略【1】初体验
			
经历过多少踩坑,翻看过多少类似博客,下载过多少版本的Jar,才能摸索出正确的代码书写方式,才能实现项目经理需求分析书中的功能点. 本文借一次 JavaEE 生成PDF的颠簸的实现过程,描述中小公司程序 ...
 - JavaEE 获取路径全攻略
			
本篇博客是 JavaWeb 应用服务器端在不同环境下获取文件路径的全面总结. 获取文件路径后主要应用的场景,读取 JavaWeb 自定义配置文件.在特定路径下生成各种类型的文件提供下载...... 想 ...