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

Posted DonquixoteXXXXX

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

   注:这也可以看出为何不能不写二维数组中第一维的数,否则将无法寻址

以上是关于C++ 一维数组及二维数组的特征和用法的主要内容,如果未能解决你的问题,请参考以下文章

c++中new和delete的用法

C++二维数组给一维数组赋值

C++基础入门丨5. 数组——一维数组和二维数组

C++基础入门丨5. 数组——一维数组和二维数组

C++基础入门丨5. 数组——一维数组和二维数组

一维数组和一级指针浅析