编程

当前位置:网站首页 > 编程 正文

枚举类型enum用法(mysql枚举类型enum用法)

admin 2022-11-25 编程 28 ℃ 0 评论

本文目录一览:

枚举类型enum用法

enum是用来声明枚举类型数据。

它可以像数组一样存储许多的元素,但是不同于数组的是,它除了数字不能存储以外,其他类型的如字母、特殊符号、汉字都可以以任意组合存入enum当中去。

enum的声明:enum A { a, b, c };

enum声明不同于数组,其只可以声明在Main()方法体外,在Main()中可以被调用。

enum的枚举数值默认是从0开始的,但是也可以强制元素序列进行改变。enum A {a=1, b, c};这样就可以实现了。

enum可以通过枚举名加点通过枚举的元素访问枚举数值。例:

int i = (int)A.a;枚举值虽然是int类型的,但是也必须进行显示的强制转换。

同样enum也可以通过枚举数值来访问枚举内的各个元素。方法是:Console.WriteLine( " (A)1 " );这样就可以访问enum内的各个元素。

enum在c语言中怎么用?

C语言的枚举类型实质就是整型变量,只不过通过枚举类型将一类有关联的标识组合起来,增加程序的可读性和可维护性

(1) 枚举型是一个集合,集合中的元素(枚举成员)是一些命名的整型常量,元素之间用逗号,隔开。

(2) DAY是一个标识符,可以看成这个集合的名字,是一个可选项,即是可有可无的项。

(3) 第一个枚举成员的默认值为整型的0,后续枚举成员的值在前一个成员上加1。

(4) 可以人为设定枚举成员的值,从而自定义某个范围内的整数。

(5) 枚举型是预处理指令#define的替代。

(6) 类型定义以分号;结束。

定义枚举类型

enum YOURENUMTYPE

{

ID1,//如果不额外指定则第一个标识等于整数0,后续依次加1

ID2,

ID3=7,

....

IDn//最后一个标识符后面没有逗号

};//注意一定要加上这个分号

定义枚举变量

enum YOURENUMTYPE varname;

给枚举变量赋值 varname = IDx;

举个完整的例子

enum FRUIT

{

APPLE,

PEAR,

ORANGE,

PEACH,

GRAPE,

BANANA

};

enmu FRUIT myfruit = PEACH;

关于C语言中的enum用法

enum是枚举类型,枚举类型是将一类有关联的标识组合起来,枚举型是一个集合,集合中的元素(枚举成员)是一些命名的整型常量,元素之间用逗号隔开,外层用{ }括起来。

Color{red,yellow,blue,white,black}可以定义成枚举类型,但是Color i,j,k,pri不能用枚举定义,因为它们之间没有任何关联。

程序第5行改成 int i,j,k,pri;即可,我已运行成功,没有错误。我用的Visual c++ 6.0

你运行下面这个程序

#includestdio.h

int main()

{

enum Color{red, yellow, blue, white, black};

int i, j, k, pri;

int n = 0;

int loop;

for(i=red; i=black; ++i)

for(j=red;j=black;++j)

if(i!=j)

{for(k=red;k=black;++k)

if((k!=i)(k!=j))

{n=n+1;

printf("%-4d",n);

for(loop=1;loop=3;loop++)

{switch(loop)

{case 1:pri=i;break;

case 2:pri=j;break;

case 3:pri=k;break;

default:break;

}

switch(pri)

{case red:printf("%-10s","red");break;

case yellow:printf("%-10s","yellow");break;

case blue:printf("%-10S","blue");break;

case white:printf("%-10s","whire");break;

case black:printf("%-10s","black");break;

default:break;

}

}

printf("\n");

}

}

printf("\ntotal:%5d\n",n);

return 0;

}

枚举类型enum用法 怎么去取所有

枚举常量是枚举类型中的值,是一种用户定义的类型,只有用户在程序中定义它后才能被使用。用户通常利用枚举类型定义程序中需要使用的一组相关的符号常量。枚举类型的定义格式为: enum 枚举类型名 {枚举表}; (1) enum color{red, yellow, blue}; (2) enum day{Sun, Mon, Tues, Wed, Thur, Fri, Sat}; 第一条语句定义了一个枚举类型color,用来表示颜色,它包含三个枚举值red,yellow和blue,分别代表红色、黄色和兰色。 第二条语句定义了一个枚举类型day,用来表示日期,它包含7个枚举值,分别表示星期日、星期一至星期六。 一种枚举类型被定义后,可以象整型等预定义类型一样使用在允许出现数据类型的任何地方。如可以利用它定义变量。 (1) enum color c1, c2,c3; (2) enum day today, workday; (3) c1=red; (4) workday=Wed; 第一条语句开始的保留字enum和类型标识符colou表示上述定义的枚举类型color,其中enum可以省略不写,后面的三个标识符c1,c2和c3表示该类型的三个变量,每一个变量用来表示该枚举表中列出的任一个值。 第二条语句开始的两个成分(成分之间的空格除外)表示上述定义的枚举类型day,同样enum可以省略不写,后面的两个标识符today和workday表示...

C# 枚举 enum用法

enum 关键字用于声明枚举,即一种由一组称为枚举数列表的命名常数组成的独特类型。每种枚举类型都有基础类型,该类型可以是除char 以外的任何整型。即:

(byte, sbyte, short, ushort, int, uint, long和ulong)

Emumeration 这个概念早在C时代就有了,不过以前没怎么用过。

基本表达, 改变默认值和默认类型

Enumeration的默认值是从0开始的int,如下:

enum Direction

{

UP,

RIGHT

DOWN,

LEFT,

};

此时UP=0, DOWN=1...依此类推

改变默认值:

enum Direction

{

UP=1,

RIGHT=2,

DOWN=3,

LEFT=4,

};

改变类型(只能改变成:byte, sbyte, short, ushort, int, uint, long, ulong):

enum Direction : long

{

UP = 1111111111,

DOWN = 1111111112,

LEFT = 1111111113,

RIGHT = 1111111114

};

枚举类型的用法?

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

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

在这里要说一下,如果你想定义两个具有同样特性枚举类型的变量那么你可以用如下的两种方式进行定义! enum box{pencil,pen}; enum box box2;//或者简写成box box2;

再有一种就是在声明的时候同时定义。 enum {pencil,pen}box,box2; //在声明的同时进行定义!

枚举变量中的枚举元素系统是按照常量来处理的,故叫枚举常量,他们是不能进行普通的算术赋值的,(pencil=1;)这样的写发是错误的,但是你可以在声明的时候进行赋值操作! enum box{pencil=1,pen=2};

但是这里要特别注意的一点是,如果你不进行元素赋值操作那么元素将会被系统自动从0开始自动递增的进行赋值操作,说到自动赋值,如果你只定义了第一个那么系统将对下一个元素进行前一个元素的值加1操作,例如 enum box{pencil=3,pen};//这里pen就是4系统将自动进行pen=4的定义赋值操作!

C++ 中的枚举类型继承于 C 语言。就像其他从 C 语言继承过来的很多特性一样,C++ 枚举也有缺点,这其中最显著的莫过于作用域问题——在枚举类型中定义的常量,属于定义枚举的作用域,而不属于这个枚举类型。例如下面的示例:enum FileAccess {

Read = 0x1,

Write = 0x2,

};FileAccess access = ::Read; // 正确

FileAccess access = FileAccess::Read; // 错误C++枚举的这个特点对于习惯面向对象和作用域概念的人来说是不可接受的。首先,FileAccess::Read 显然更加符合程序员的直觉,因为上面的枚举定义理应等价于如下的定义(实际上,.NET 中的枚举类型便是如此实现的):class FileAccess {

static const int Read = 0x1;

static const int Write = 0x2;

};其次,这导致我们无法在同一个作用域中定义两个同样名称的枚举值。也就是说,以下的代码是编译错误:enum FileAccess {

Read = 0x1,

Write = 0x2,

};enum FileShare {

Read = 0x1, // 重定义

Write = 0x2, // 重定义

};如果这一点没有让你恼怒过的话,你可能还没写过多少 C++ 代码 :-)。实际上,在最新的 C++0x 标准草案中有关于枚举作用域问题的提案,但最终的解决方案会是怎样的就无法未卜先知了,毕竟对于象 C++ 这样使用广泛的语言来说,任何特性的增删和修改都必须十分小心谨慎。当然,我们可以使用一些迂回的方法来解决这个问题(C++ 总是能给我们很多惊喜和意外)。例如,我们可以把枚举值放在一个结构里,并使用运算符重载来逼近枚举的特性:struct FileAccess {

enum __Enum {

Read = 0x1,

Write = 0x2

};

__Enum _value; // 枚举值 FileAccess(int value = 0) : _value((__Enum)value) {}

FileAccess operator=(int value) {

this-_value = (__Enum)value;

return *this;

}

operator int() const {

return this-_value;

}

};我们现在可以按照希望的方式使用这个枚举类型:FileAccess access = FileAccess::Read;并且,因为我们提供了到 int 类型的转换运算符,因此在需要 int 的地方都可以使用它,例如 switch 语句:switch (access) {

case FileAccess::Read:

break;

case FileAccess::Write:

break;

}当然我们不愿意每次都手工编写这样的结构。通过使用宏,我们可以很容易做到这一点:#define DECLARE_ENUM(E) \

struct E \

{ \

public: \

E(int value = 0) : _value((__Enum)value) { \

} \

E operator=(int value) { \

this-_value = (__Enum)value; \

return *this; \

} \

operator int() const { \

return this-_value; \

} \

\

enum __Enum {#define END_ENUM() \

}; \

\

private: \

__Enum _value; \

};我们现在可以按如下的方式定义前面的枚举,并且不比直接写 enum 复杂多少。DECLARE_ENUM(FileAccess)

Read = 0x1,

Write = 0x2,

END_ENUM()DECLARE_ENUM(FileShare)

Read = 0x1,

Write = 0x2,

END_ENUM()

这么好的文章居然暂无评论!来一个吧...

欢迎 发表评论

京ICP备16011365号
在线QQ 评论文章