1、函数声明:
将二维数组作为函数参数的函数声明有两种
- 二维数组型:如 int sum(int ar2[][size]);注意:行数可不声明,但要求列数必须要声明,不然将发生错误!
- 指针型:如 int sum(int (*ar2)[list_size],int row_size); 其中row_size为行数!
函数调用时只需要牢牢记住函数名就是地址就可,直接写二维数组的函数名,不要自己乱加“[]"什么的!
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;
}