数组作为参数传递给函数的是数组首元素的地址。
这和只能省略二维数组的行数道理是一样的。 下面我们就来看一个向函数传递二维数组的程序:
对于二维数组来说亦是如此。
不过有两个问题,
一个是我们必须让函数知道行数和列数,
这就像我们要让函数知道一维数组的大小一样,防止发生越界访问。
另一个就是我们必须让电脑知道这个二维数组
是怎样的一个表格,即必须告知数组的列数。
#include "iostream.h"
#include "iomanip.h"
void disp(int a[][2],int r,int c);//告知数组的列数
int main()
{
int array[3][2]={4,2,5,6,3,1};
cout <<"array" <<endl;
disp(array,3,2);
return 0;
}
void disp(int a[][2],int r,int c)
{
for (int i=0;i<r;i++)
{
for (int j=0;j<c;j++)
{
cout <<setw(2) <<a[i][j];
}
cout <<endl;
}
}
运行结果:
array
42
56
31
这和只能省略二维数组的行数道理是一样的。 下面我们就来看一个向函数传递二维数组的程序: