c++ primer plus笔记(4)结构体、共用体与枚举

一、结构体(struct)

struct text
{
   int n;
   long l;
   double d;
};

二、共用体(union)

union text
{
   int int_val;   
   long long_val;
   double double_val;
};

//结构体(struct)表示一个包含多个数据类型的数据块(block)

//共用体和结构体声明方式相近

//共用体(union)只能表示其包含类型中的单种情形

三、枚举(enum)

enum text{first,second,third};

//枚举类型定义一系列符号常量,并使用底层类型标记每个符号常量;

//默认的枚举底层类型为int,若要修改则使用:

enum class:short text{first,second,third};
//C++11强类型枚举声明,底层类型指定为short

//默认情况下枚举量从0开始被依次连续赋值,这些值也可以显式指定:

 

enum text{first,second = 100,third};
//first = 0;second = 100;third = 101;

//可以向已有的枚举中添加新的枚举量;

enum text{zero,ten = 10};
text three;
three = text(3);  //或text three=text(3);

但这种添加有值的上下限限制:

    上限:大于枚举量最大值的2的幂减1;16-1=15;

    下限:若枚举量最小值不小于0则为0;

             若小于0则与最大值计算方法相同并添加负号;

//枚举量的值可以为负

//枚举量的值可以多个一致:

enum text{zero,null = 0,one,numero_uno = 1};   //前两者为0,后两者为1

//枚举量可以提升为int,但反之则不行:

int num = first;   //enum转换为int
text text_num = 1; //不可行

由于枚举量可以被提升成int,所以可以进行整数运算(尽管没有这种必要);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值