C++类型--结构.数组.枚举

想知道更多区块链技术知识,请百度【链客区块链技术问答社区】
链客,有问必答!!

一.结构

  1. 结构类型定义
    struct <结构类型名> {<成员表>};
    typedef struct <结构类型名> {<成员表>}<结构体类型别名>;
    1)名字可以跟结构名不一样,不过都是一样的,设置别名知识方便定义变量,保留语法。
    2)在结构类型定义时,对成员变量进行初始化是没有意义的,因为类型不是程序运行时刻的实体,它们不占用内存空间。
  2. 结构类型变量定义
    struct <结构类型名> <变量名表>;//C的用法
    或 <结构类型名> <变量名表>;// C++的用法
    或 struct <结构类型名> {<成员表>}<变量名表>;
  3. 操作
    1)访问成员:<结构类型的变量名>.<成员名>
    2)对结构类型的数据可以进行整体赋值,但是要保证两者属于相同的结构(成员名和类型都相同)。
  4. 结构类型的默认参数传递方式是值传递,因此,当结构类型很大时传输速度回受限。
  5. 定义完结构类型后,其使用和平时的类型没有太大的区别,该加加该减减,不过要记住其每个成员也是一个实体。
    枚举
  6. 枚举类型定义
    enum <枚举类型名> {<枚举值表>};
  7. 枚举变量的定义
    <枚举类型> <变量表>;
    或<枚举类型>{<枚举值表>} <变量表>;
  8. 枚举变量的使用
    1)赋值1
    Day d1,d2;
    d1 = SUN; //true
    d2 = 3; //error, 但int n = SUN;也是可以的
    d2 = (Day)3;//true 但这样不安全,必须要保证该整型数属于枚举类型的值集,否则没有意义
    2)算术运算
    d2 = d1 + 1;//error,因为它d1 + 1的结果是整型
    d2 = (Day)(d1 + 1);//true
    数组
  9. 二维数组
    1)初始化
    int a[2][3] = {{1,2,3},{4,5,6}}; 等同于 int a[2][3] = {1,2,3,4,5,6};//二维数组可以转成一维数组进行处理,但是要注意下标
    int a[][3] = {{1,2},{3,4,5}};//第一个下标可以省略,其他的不能,更高维的数组也同此。
  10. 一维数组
    1)定义
    <元素类型> <一维数组变量名>[<元素个数>];
    也可以借助 typedef 类定义
    typedef <元素类型> <一维数组类型名>[<元素个数>]; <一维数组类型名> <一维数组变量名>
    2)操作
    通过下标访问元素。
    注意下标是否越界。
    初始化
    int a[10] = {1,2,3};//其他元素初始化为0
    int a[] = {1,2,3};//元素个数为3

未经允许,拒绝转载。

猜你喜欢

转载自blog.csdn.net/weixin_44172023/article/details/86609176