一般而言,有两种传参方式:
void fn(int p[][3],int n)
{
for (int i=0;i<n;++i)
{
for (int j=0;j<3;++j)
{
cout<<p[i][j]<<" ";
}
cout<<endl;
}
}
void fn1(int (*p)[3],int n)
{
for (int i=0;i<n;++i)
{
for (int j=0;j<3;++j)
{
cout<<p[i][j]<<" ";
}
cout<<endl;
}
}
//下面是两种特殊的方式,
void fn2(int *p[],int n)
{
for (int i=0;i<n;++i)
{
for (int j=0;j<3;++j)
{
cout<<p[i][j]<<" ";
}
cout<<endl;
}
}
void fn3(int **p,int n)
{
for (int i=0;i<n;++i)
{
for (int j=0;j<3;++j)
{
cout<<p[i][j]<<" ";
}
cout<<endl;
}
}
int main()
{
int b[2][3] = {{0,1,2},{3,4,5}};
fn0(b);
fn1(b);
int c1[3] = {0,1,2};
int c2[3] = {3,4,5};
int *c[2];
c[0] = c1;
c[1] = c2;
int **d;
d = c;
d[0] = c1;
d[1] = c2;
fn2(d,2);
fn2(c,2);
fn3(c,2);
fn3(d,2);
}