C++ 一维数组及二维数组的特征和用法

1. 特征

  1. 数组内存放数据类型相同
  2. 数组内存位置连续
  3. 存储的单个数据大小为4字节

2. 一维数组

2.1 初始化

  1. 自定义数据初始化
数据类型 数组名[长度]={12345...};
  1. 一次性全初始化为0
数据类型 数组名[长度]={0};
数据类型 数组名[长度]={};

2.2 数组名用处

注:数组名地址与数组第一个元素地址一致
  1. 获取整个数组大小
sizeof(arr);
  1. 获取数组长度
int len=sizeof(arr)/sizeof(arr[0]);//数组大小/数组单个元素大小=数组长度

3. 二维数组

3.1 初始化

数据类型 数组名[行数n][列数m]={{a1,a2,a3...am},{b1,b2,b3...bm},...};
数据类型 数组名[行数n][列数m]={a1,a2,a3...am*n};
数据类型 数组名[][列数m]={a1,a2,a3...am*n};
注:必须有列数,行数可以不用

3.2 数组名用处

注:数组名地址与数组第一个元素地址一致,用处与一维数组类似

3.3 二维数组做函参

  1. 调用函数中的数组参数必须指定列数,行数可有也可无,两者等价
void func(int arr[2][2]);
//等价于
void func(int arr[][2]);
  1. 实参数组维数可以大于形参数组维数,此时函数只取得参数中有的范围
int arr[4][2];
void func(int arr[2][2]);

3.3.1 编译器寻址方式

int arr[m][n];

编译器取arr[i][j]的值,寻址地址:arr+i*n+j

   注:这也可以看出为何不能不写二维数组中第一维的数,否则将无法寻址
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值