C++ 一维数组及二维数组的特征和用法
Posted DonquixoteXXXXX
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ 一维数组及二维数组的特征和用法相关的知识,希望对你有一定的参考价值。
一维数组及二维数组的特征和用法
1. 特征
- 数组内存放数据类型相同
- 数组内存位置连续
- 存储的单个数据大小为4字节
2. 一维数组
2.1 初始化
- 自定义数据初始化
数据类型 数组名[长度]=1,2,3,4,5...;
- 一次性全初始化为0
数据类型 数组名[长度]=0;
数据类型 数组名[长度]=;
2.2 数组名用处
注:数组名地址与数组第一个元素地址一致
- 获取整个数组大小
sizeof(arr);
- 获取数组长度
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 二维数组做函参
- 调用函数中的数组参数必须指定列数,行数可有也可无,两者等价
void func(int arr[2][2]);
//等价于
void func(int arr[][2]);
- 实参数组维数可以大于形参数组维数,此时函数只取得参数中有的范围
int arr[4][2];
void func(int arr[2][2]);
3.3.1 编译器寻址方式
int arr[m][n];
编译器取arr[i][j]的值,寻址地址:arr+i*n+j
注:这也可以看出为何不能不写二维数组中第一维的数,否则将无法寻址
以上是关于C++ 一维数组及二维数组的特征和用法的主要内容,如果未能解决你的问题,请参考以下文章