枚举类型enum

enum枚举类型:在实际问题中,有些变量的取值被限定在一个有限的范围内。例如,一个星期内只有七天,一年只有十二个月,一个班每周有六门课程等等。如果把这些量说明为整型,字符型或其它类型显然是不妥当的。为此,C语言提供了一种称为“枚举”的类型。在“枚举”类型的定义中列举出所有可能的取值,被说明为该“枚举”类型的变量取值不能超过定义的范围。应该说明的是,枚举类型是一种基本数据类型,而不是一种构造类型,因为它不能再分解为任何基本类型。

enum是枚举型 union是共用体,成员共用一个变量缓冲区

#include <iostream>

using namespace std;

void main()
{
	enum open_modes {input, output, append};
	enum Forms {shape = 1, sphere, cylinder, polygon};

	cout<<"sizeof(open_modes) == "<<sizeof(open_modes)<<endl;
	cout<<"sizeof(Forms) == "<<sizeof(Forms)<<endl;
	cout<<"sizeof(int) == "<<sizeof(int)<<endl;

	//open_modes om = 1;// error
	open_modes om = (open_modes)1;
	//int t = open_modes::input;
	int t = input;
	int k = sphere;
	cout<<"om == "<<om<<" t == "<<t<<" k == "<<k<<endl;

	open_modes om2 = (open_modes)100;
	cout<<"om2 == "<<om2<<endl;
}

输出:

时间: 2024-11-02 20:27:52

枚举类型enum的相关文章

高阶Java-Java枚举类型enum应用详解

java的Enum枚举类型终于在j2se1.5出现了.之前觉得它只不过是鸡肋而已,可有可无.毕竟这么多年来,没有它,大家不都过得很好吗?今日看<Thinking in Java>4th edition,里面有一句话"有时恰恰因为它,你才能够"优雅而干净"地解决问题.优雅与清晰很重要,正式它们区别了成功的解决方案与失败的解决方案.而失败的解决方案就是因为其他人无法理他."使用Enum枚举类型,可以将以前笨拙的代码变得优雅简单?但是,我同时也在思考另外一个问

C/C++中枚举类型(enum)

如果一个变量你需要几种可能存在的值,那么就可以被定义成为枚举类型.之所以叫枚举就是说将变量或者叫对象可能存在的情况也可以说是可能的值一一例举出来. 举个例子来说明一吧,为了让大家更明白一点,比如一个铅笔盒中有一支笔,但在没有打开之前你并不知道它是什么笔,可能是铅笔也可能是钢笔,这里有两种可能,那么你就可以定义一个枚举类型来表示它! enum box{pencil,pen};//这里你就定义了一个枚举类型的变量叫box,这个枚举变量内含有两个元素也称枚举元素在这里是pencil和pen,分别表示铅

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

关于枚举大多数地方写的枚举都是给一个枚举然后例子就开始switch,可是我想说,我代码里头来源的数据不太可能就是枚举,通常是字符串或数字,比如一个SQL我解析后首先判定SQL类型,通过截取SQL的token,截取出来可能是SELECT.DELETE.UPDATE.INSERT.ALTER等等,但是都是字符串,此时我想用枚举就不行了,我要将字符串转换成枚举怎么转呢,类似的情况还有从数据库取出数据根据一些类型做判定,从页面传入数据,根据不同的类型做不同的操作,但是都是字符串,不是枚举,悲剧的是我很少

Java枚举类型enum

枚举的语法1.Enum的全称为enumeration,中文俗称枚举类,学过C/C++等语言的人,应该都对它略知一二.    但在Java语言规范中,是在JDK 5版本中才引入的,存放在 java.lang 包中.在Java版的Enum实质是语法糖,其声明方式如下: [代码1] package com.enumtest; public enum Color { RED,BLUE,BLACK,YELLOW,GREEN //注意这里可以没有分号 }   enum是用来声明枚举的关键字,声明定义的类都隐

C#语法学习:枚举类型(Enum)

/*枚舉 * 當你想讓一組數字代表特定的意義,並且希望是安全的,可讀性強. * * 枚舉類型是以"自己的方式使用整型" * 枚舉類型可以是:byte,sbyte,short,ushort,int,uint,long,ulong的子類 * 如果沒有指定類型,則默認為int類型 * * 枚舉類型的大小是所有元索的大小的總和 * */ using System; class Test { //enum Color{Red,Gree,Blue} //enum Color{Red=6,Gree=

mysql中枚举类型之enum详解

对于255至65535个成员,需要2个字节存储.最多允许有65535个成员. 先通过sql语句创建一个具有枚举类型的数据表.  代码如下 create table user_sex( sex enum('M','F'));   再往表中写入几条测试数据: insert into user_sex values('M'),('s'),('2'),('f');   在表中查看写入的结果时,发现变成了这样M,M,M,F(注意每个字符为一条记录).由结果可知enum类型是忽略大小写的,'f'被自动转化成

C语言 枚举类型(Enum)详解及示例代码_C 语言

在实际编程中,有些数据的取值往往是有限的,只能是非常少量的整数,并且最好为每个值都取一个名字,以方便在后续代码中使用,比如一个星期只有七天,一年只有十二个月,一个班每周有六门课程等. 以每周七天为例,我们可以使用#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 in

详解Swift中enum枚举类型的用法_Swift

一.引言 在Objective-C语言中,没有实际上是整型数据,Swift中的枚举则更加灵活,开发者可以不为其分配值类型把枚举作为独立的类型来使用,也可以为其分配值,可以是字符,字符串,整型或者浮点型数据. 二.枚举语法 Swift中enum关键字来进行枚举的创建,使用case来创建每一个枚举值,示例如下: //创建姓氏枚举,和Objective-C不同,Swift枚举不会默认分配值 enum Surname { case 张 case 王 case 李 case 赵 } //创建一个枚举类型的

Java枚举类enum介绍_java

枚举类enum是JDK1.5引入的,之前都是用public static final int enum_value来代替枚举类的.枚举类enum是一种特殊的类,它默认继承了类java.lang.Enum.和其它普通类一样,enum同样可以有成员变量.方法.构造器,也可以实现一个或多个接口,区别是: 1.如果有构造器,必须用private修饰. 2.枚举类不能派生子类. 3.枚举类所有的实例必须在第一行显示定义.系统会自动给这些实例加上public static final修饰,无须程序员显示定义