您当前的位置: 首页 > 

跋扈洋

暂无认证

  • 6浏览

    0关注

    221博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

特殊类型结构--枚举

跋扈洋 发布时间:2020-03-11 19:28:00 ,浏览量:6

枚举 介绍

在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。这两种类型经常(但不总是)重叠。

枚举在C/C++/c#中,是一个被命名的整型常数的集合, 枚举在日常生活中很常见。 例如表示星期的SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY,FRIDAY,SATURDAY,就是一个枚举。

枚举的说明与结构和联合相似, 其形式为: enum 枚举名{ 标识符[=整型常数], 标识符[=整型常数], … 标识符[=整型常数] } 枚举变量; 如果枚举没有初始化,即省掉"=整型常数"时, 则从第一个标识符开始,顺次赋给标识符0, 1, 2, …。但当枚举中的某个成员赋值后,其后的成员按依次加1的规则确定其值。 枚举类形类似于宏定义,相当于建立起物理世界和程序之间的联系,可以简 单地理解为利用 #define 构建了表示结构,程序通过枚举限制变量的取值范围

实例
#include 
#define class_1 0
#define class_2 1
int main()
{
 int i;
 enum week{
 Monday,//当不给特定值时,第一个变量自动等于0
 Tuesday,//这里是1
    Wednesday
 Thursday,
 Friday,
 Saturday,
 Sunday
 };//枚举里为整数
    week day;
     day=Monday;
      printf("今天是星期:%d\n",day);
       day=Tuesday;
      printf("今天是星期:%d\n",day);
    day=Wednesday;
      printf("今天是星期:%d\n",day);
     day=Thursday;
      printf("今天是星期:%d\n",day);
       return 0;
}

1 当给定枚举中的值时:

#include 
#define class_1 0
#define class_2 1
int main()
{
 int i;
 enum week{
 Monday=1,//当不给特定值时,第一个变量自动等于0
 Tuesday,//这里是2
    Wednesday=5,//当从中间给一个特定值时,后面的从这个特定值开始
 Thursday,//这时这个值应当是6
 Friday,
 Saturday,
 Sunday
 };//枚举里为整数
    week day;
     day=Monday;
      printf("今天是星期:%d\n",day);
       day=Tuesday;
      printf("今天是星期:%d\n",day);
    day=Wednesday;
      printf("今天是星期:%d\n",day);
     day=Thursday;
      printf("今天是星期:%d\n",day);
       return 0;
}

2

注:枚举的遍历

//如果想把星期一到星期日都输出
 //遍历枚举输出枚举值
以下这个方法很多语言中是可以的,但C中不可以 
 for (day=Monday;day            
关注
打赏
1663745539
查看更多评论
0.1540s