1、函数声明:

将二维数组作为函数参数的函数声明有两种

  1. 二维数组型:如 int sum(int ar2[][size]);注意:行数可不声明,但要求列数必须要声明,不然将发生错误!
  2. 指针型:如 int sum(int (*ar2)[list_size],int row_size); 其中row_size为行数!
2、函数调用:

函数调用时只需要牢牢记住函数名就是地址就可,直接写二维数组的函数名,不要自己乱加“[]"什么的!

3、代码演示

二维数组型:

#include<stdio.h>
int sum(int ar2[][4],int size);
int main()
{
	int data[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
	int total=sum(data,3);//函数名就是地址! 
	printf("%d\n",total);
	return 0;
}
int sum(int ar2[][4],int size)
{
	int total=0;
	for(int i=0;i<size;i++)
		for(int j=0;j<4;j++)
			total+=ar2[i][j];
	return total;
}
指针型:

#include<stdio.h>
int sum(int (*ar2)[4],int size);
int main()
{
	int data[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
	int total=sum(data,3);//函数名就是地址! 
	printf("%d\n",total);
	return 0;
}
int sum(int (*ar2)[4],int size)
{
	int total=0;
	for(int i=0;i<size;i++)
		for(int j=0;j<4;j++)
			total+=ar2[i][j];
	return total;
}