A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑白世界 中级黑马   /  2015-9-24 15:49  /  588 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

枚举类型的作用是可以表达一个枚举类型变量的含义,比如定义一个性别的枚举类型,我们可以只让她表示“男”,“女”,“未知”
但是,需要注意的是,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
复制代码




0 个回复

您需要登录后才可以回帖 登录 | 加入黑马