枚举类型变量定义和使用

枚举类型的定义和使用与结构体类型有很大的区别,如下是一个枚举类型的定义:

enum test

{

    a, b, c

};

       定义了枚举类型enum test,可以使用该类型来定义变量,就是枚举类型变量,如下:

enum test t1;

       此时,定义了枚举类型变量t1,枚举类型变量t1的值与enum test中的枚举常数列表a, b, c没有任何关系。

       那么,刚刚定义的枚举类型变量t1,与普通的int类型变量一样,变量中的初始值是一个内存中的随机值。

       但是,我们可以把枚举常量列表中定义的常量,赋值给枚举类型变量。例如:

enum test t1;

t1 = c;

       此时,枚举类型变量t1就得到了枚举常量c的值。程序测试例子如下:

       程序运行结果如下:

       可以看到,枚举类型enum test就如同int类型一样,它存放的就是一个常量数值,所以,在内存中占据4个字节的存储空间。

       刚刚定义枚举类型变量t1的时候,就如同定义一个int类型变量一样,它是一个局部变量,它的值是创建变量时,内存中残留的随机数据。所以,有:

enum test t1; //定义枚举类型变量t1

类似于

int t1;  //定义int类型的变量t1

       最终,我们可以把枚举常量b赋给枚举类型变量t1。

       注意:给枚举类型变量赋值,只能够设置枚举常量列表中定义的常量值。例如:

t1 = 3;

       此时,给枚举类型常量t1设置一个数值,它不是枚举常量列表中定义的常量值,那么,就编译错误。

总结:

  1. Ubuntu系统中,使用GCC编译器,可以给一个枚举类型变量,设置整数值;
  2. Visual Studio编译器中,不可以给一个枚举类型变量,设置整数值;
  3. 所以,为了代码的兼容性,不建议直接给枚举类型变量设置整数值;

所以,我们可以知道:给枚举类型变量赋值,必须设置枚举常量列表中定义的常量。

       枚举类型常量列表中定义的常量,它们就是一个常量数值,可以赋值给int、char等类型的变量,例如:

       程序运行结果如下:

       此时,我们定义了一个int类型的变量t1,然后,可以把枚举类型常量b设置给int类型的变量t1。因为,枚举类型常量b就表示一个数值,就如同把一个数值赋值给int类型的变量。

韦凯峰 Linux C/C++ 程序设计教程,Linux 系统编程,Openwrt 系统开发,微信:13926572996,QQ:1523520001,博客:www.mylinux.vip

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

韦凯峰Linux编程学堂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值