代码如下
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void print(int (*p)[5],int r,int c)
{
int i=0;
int j=0;
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
printf("%d ",*((*(p+i))+j));
}
printf("\n");
}
}
int main(int argc,char * argv[])
{
int arr[3][5]={{1,2,3,4,5},{2,3,4,5,6},{3,4,5,6,7}};
print(arr,3,5);
return 0;
}
运行结果
结论
arr为二维数组首元素的地址,即数组指针,类型为int (*)[5]。