黑马程序员技术交流社区

标题: 日课9 c语言之枚举类型 [打印本页]

作者: 黑白世界    时间: 2015-9-24 15:49
标题: 日课9 c语言之枚举类型
枚举类型的作用是可以表达一个枚举类型变量的含义,比如定义一个性别的枚举类型,我们可以只让她表示“男”,“女”,“未知”
但是,需要注意的是,C语言是不严格控制枚举类型的,如下列代码,即使我们定义了枚举类型names的取值只有四种可能,我们依然可以为names定义的枚举类型变量赋其他值。同样可以通过编译并执行。

  1. //定义一个枚举类型 names
  2.     enum names {
  3.           jack,
  4.           rose,
  5.           tom,
  6.           lusi
  7.     };
  8. //定义枚举变量 stu1,stu2
  9.     enum names stu1 = jack;
  10.     enum names stu2 = tom;
  11. //打印枚举类型和他们的内存大小
  12.     printf("stu1=%d,stu2=%d\n",stu1,stu2);  //结果:stu1 = 0 , stu2 = 2
  13.     printf("sizeof(stu1)=%d,sizeof(stu2)=%d\n",sizeof(stu1),sizeof(stu2));  //结果都是4
  14.    
复制代码
另外,以上面代码为例,Jack存的值是0,rose存的值是1,以此类推,lusi存的值是4.
我们可以通过其他方法改变这些值,但是并不建议这么做:
  1. enum namestest {
  2.           jack = 3,
  3.           rose,
  4.           tom,
  5.           lusi
  6.     };
  7.     enum namestest stu3 = jack;
  8.     enum namestest stu4 = tom;
  9.     printf("stu1=%d,stu2=%d\n",stu3,stu4);  //输出结果:3 , 5
复制代码









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