cpp期末笔记1.5数组,结构体与union

cpp数组,结构体,union

1.数组的定义与传参

int A[6];
  • 定义上A就是数组类型,有sizeof(A)=6*sizeof(int)
  • 当它作为参数传递时,才变成了一个指针,所以要加个长度,因此才有了数组传参时,需要传进去两个参数(数组名和数组长度)
void f(int a[], int n);
  • 符号串(字符串)可以不传长度,因为末尾有‘\0’字符
void f(char a[]);

特例:

char s2[]={'a','b','c'}; cout << s2;
  • 这个末尾没有、0,而是烫
typedef int T[3];
T A[2];
//相当于int A[2][3];
typedef  T T1[c2];
//相当于T1 T[c2];
T1 A[c1];
T A[c1][c2]

2.结构体struct

  • 赋值必须是同类型(同类型/typedef)
  • 对齐:
  • struct浪费了空间

3.union

  • 共享存储空间
union  Matrix
{
    struct
    {   double  _a11, _a12, _a13;
        double  _a21, _a22, _a23;
        double  _a31, _a32, _a33;
    };
    double  _element[3][3];
};
//两个不同的视角来操纵

  • 多态:重载函数,union,宏
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值