黑马程序员技术交流社区

标题: 枚举的问题 [打印本页]

作者: agelessman    时间: 2014-3-30 10:35
标题: 枚举的问题
本帖最后由 agelessman 于 2014-3-30 19:11 编辑

枚举该怎么用?在什么情况下需要用的枚举?在编程中用的多不多?

作者: 脸皮猴    时间: 2014-3-30 11:00
枚举是C语言中的一种基本数据类型,并不是构造类型,它可以用于声明一组常数。当一个变量有几个固定的可能取值时,可以将这个变量定义为枚举类型。比如,你可以用一个枚举类型的变量来表示季节,因为季节只有4种可能的取值:春天、夏天、秋天、冬天。
枚举在什么情况下使用勒?
我觉得是这样子 在一个变量只有固定的几个值的时候,考虑用枚举这样子能增加程序的易读性和为了提供有限个选择,避免用户因错误输入其他信息,从而规范了程序的有效执行性。,具体看看MJ老师的C语言基础视频里面关于枚举的视频,你会了解更多。
作者: 远人    时间: 2014-3-30 12:16
说到这里给你总结下数据类型吧,也就是mj老师讲的,分为四大数据类型:
一、基本数据类型
1.int
1>long int、long:8个字节  %ld
2>short int、short:2个字节  %d %i
3>unsigned int、unsigned:4个字节 %zd
4>signed int、signed 、int:4个字节 %d %i

2.float\double
1>float:4个字节  %f
2>double:8个字节  %f

3.char
1>1个字节 %c %d
2>char类型保存在内存中得是它的ASCII值
    ‘A’-->65

二、构造类型
1.数组
1>只能由同一种类型的数据组成
2>定义:数据类型  数组名[元素个数];

2.结构体
1>可以由不同类型的数据组成
2>先定义类型,再利用类型定义变量

三、指针类型
1.变量的定义
int *p;

2.间接操作变量的值
int a = 10;
p = &a;
*p = 20;

四、枚举类型
使用场合:当一个变量只允许有几个固定取值时

由此可见枚举是一种特殊的数据类型:枚举用在有特殊规定使用整数的变量,变量之间依次递增。
因为有如此限制,那么就只有在特定情况下才能用了,用的多与少就看你程序是否具备这样的特定环境了,下面是关于枚举的实例
  1. #include <stdio.h>

  2. int main(int argc, const char * argv[])
  3. {
  4.     //1.定义枚举类型
  5.     enum Season
  6.     {
  7.         spring,
  8.         summer,
  9.         autumn,
  10.         winter
  11.     };
  12.    
  13.     //2.定义枚举变量
  14.     enum Season s = spring;
  15.     enum Season s2 = summer;
  16.     enum Season s3 = autumn;
  17.     enum Season s4 = winter;
  18.    
  19.     printf("%d\n",s);
  20.     printf("%d\n",s2);
  21.     printf("%d\n",s3);
  22.     printf("%d\n",s4);
  23.     return 0;
  24. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2