您的位置:首页 > 其它

enum枚举总结

2012-12-28 17:06 183 查看
枚举详解

1.
什么是枚举enum

如果一个变量只有几个可能的值,则可以定义为枚举类型。所谓枚举就是将变量的值一一列出来,变量的值只限于列出来的范围内。

枚举同共用体类似,里面包含若干个元素,这些元素是在编译中是按常量来处理的,故称为枚举常量。它们不是变量,是常量,因此不能对枚举里面的元素赋值,这是枚举同共用体,以及结构体最大的区别,其次,枚举里面的元素默认值是0,1,2,3等整形常数。

2.
如何使用枚举enum

(1)枚举的声明

Enum color{red,black,blue};//这里枚举里面共有三个元素,他们的值分别是0,1,2

Enum color col;

Col=red;

根据定义,我们是不能对枚举里的元素进行赋值的,这是最重要的一点,切记。

而枚举变量赋值只能是枚举元素中的一种

(2) 输出

Printf(“%d”,red);

注意不能使用printf(“%d”,col);

3.
枚举的作用

枚举其实和一个一维的整型数组并没有什么区别。但是枚举元素可以定义令人一目了然的标示符,而且变量值限制在定义时规定的几个枚举元素范围内,如果赋予它其他值就会报错,便于检查

4.实例应用

有五个颜色的球,从中选出三种不同颜色的球,有多少种选法:

// Enum_study.cpp : Defines the entry point for the console application.
//

#include
"stdafx.h"
#include<iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
enum color{red,yellow,blue,white,black};
enum color i,j,k,pri;
int n=0;
printf("%d",red);
for(i=red;i<=black;i++)
{
for(j=red;j<=black;j++)
if(i!=j)
for(k=red;k<=black;k++)
{
if(j!=k&&k!=i)
{
n++;
for(int loop=1;loop<3;loop++)
{
switch(loop)
{
case 1: pri=i;break;
case 2:pri=j;break;
case 3:pri=k;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","white");break;
case black: printf("%10s","black");break;
}
}
printf("\n");
}
}
}
printf("总计有%d中方法!",n);
system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: