1.二维数组
上篇博文讲解了关于一维数组以及指针的运用对一维数组及指针运用还存在疑惑的同学可以查看上篇教程.一维数组及指针运用详解
本篇文章将要介绍二维数组.二维数组与一维数组原理类似.如二维3x3数组的声明定义.例如int data[2][3]={ {1,2,3},{4,5,6}}(注意内部的标点符号);必须牢记,数组名被视为其地址.就像一维数组一样,比较难处理的就是如何正确声明指针.下面的代码遍历了二维数组的所有元素.多维数组类似.倘若该处data声明为int data[4][3]={ {1,2,3},{4,5,6}};而我们只给前两行元素赋值,其余值会被默认为0;
#include<iostream>
int main()
{
using namespace std;
int data[2][3]={
{1,2,3},{4,5,6}};
for(int i=0; i < 4; i++)
{
for(int j=0; j<3; j++)
{
cout<<data[i][j]<<endl;//使用**data可以访问data[1][1],*(*(data+1)+2)可访问data[1][2]
}
}
return 0;
}
在遍历时,同样可以选择**data的方式来遍历,例如使用**data可以访问data[0][0],*(*(data+1)+2)可访问data[1][2],因为数组是一块地址连续的内存.具体讲解请看下面。
1.1二维数组作为形参
假设进行二维数组的求和,需要编写一个数组求和函数,将二维数组作为形参.