C++枚举、结构、共用体

一、枚举

  • enum typename {标识符[=整型常数],...};
  • 作用:自定义值域;增加代码可读性
  • 从语法角度看,枚举元素是命名常量,枚举元素没有赋初值的话实际值为0,1...没有指定值的枚举元素,其值为前一元素加 1
  • 从应用角度看,可以将枚举元素看作字面常量,如3.14是double类型的字面常量
  • 枚举类型的值可以直接赋值给整型变量(自动类型转换)
  • 整型数值不能直接赋值给枚举类型变量,但可以强制类型转换
  • 枚举变量不能自增
  • 不能通过cin和cout直接输入输出枚举元素值,只能通过判断处理,一般用switch语句

二、结构

  • struct typename{定义成员变量的列表};
  • 用成员运算符.访问成员变量:结构变量.成员名
  • 结构变量不能作为整体进行I/O、算数和比较操作,但可以作为整体进行同类型的赋值操作
  • 结构变量可以作为函数参数(值形参or引用形参)和返回值
  • 层次结构:结构嵌套结构
  • 与类的区别:struct访问控制方式默认public,class访问控制方式默认private
  • 如果结构体的全部数据成员都是公共成员,没有用户定义的构造函数,没有基类和虚函数,可以用初始化列表进行初始化

三、共用体

  • 存储多种不同类型的变量,但每个实例只能是一种变量
  • 联合体内存空间由占用内存空间最大的变量以及内存对齐决定

猜你喜欢

转载自blog.csdn.net/Lee_01/article/details/84314665