[英]passing 2d array to function with in c
有没有办法将2D数组作为function(arr,m,n)
传递给函数,将函数定义作为void function(int **p,int m,int n)
传递给函数,即,没有显式指定数组大小?
让我们C对如何传递两个D数组作为参数有很好的解释。
我通常使用这两种方式将2D数组作为参数传递。 但是您需要明确指定大小。
void display1(int q[][4],int row,int col){
int i,j;
for(i=0;i<row;i++)
{
for(j=0;j<col;j++)
printf("%d",q[i][j]);
printf("\n");
}
}
void display2(int (*q)[4],int row,int col){
int i,j;
int *p;
for(i=0;i<row;i++)
{
p=q+i;
for(j=0;j<col;j++)
printf("%d",*(p+j));
printf("\n");
}
}
int main()
{
int a[3][4]={1,2,3,4,5,6,7,8,9,0,1,6};
display1(a,3,4);
display2(a,3,4);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.