二维数组无法作为参数直接传递给函数,但是可以利用二维数组内部数据的连续性,将二维数组的地址按照一维数组的方式传递给函数,并传入对应的行列数,从而实现函数内打印二维数组的效果.
以整型为例,具体方式如下:
void?print_array(int?*a,?int?m,?int?n)//a为一个m行,n列的二维数组的首地址.
{
int?i,?j;
for(i?=?0;?i?m;?i?++)
for(j?=?0;?j?n;?j?++)
printf("%d,",?a[i*n+j]);//a[i*n+j]也就是原始二维数组第i行第j列的元素.
}
printf("\n");//每行结束输出换行.
二维数组定义的一般形式是:
例如:
#includestdio.h
void?main()
int?a[N][M];
int?b[M][N];
int?i,j;
for?(i=0;iN;i++)
for?(j=0;jM;j++)
scanf("%d",a[i][j]);
printf("\n");
for(i=0;iN;i++)
for(j=0;jM;j++)
b[j][i]=a[i][j];
for?(i=0;iM;i++)
for?(j=0;jN;j++)
以上就是土嘎嘎小编为大家整理的c语言定义二维数组函数相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!