多维数组使用
多维数组做函数参数
代码示例1:
#include <stdio.h>
#include <stdlib.h>
/*这个程序用于测试多维数组作为函数参数*/
int max_value(int array[][4]);//A处
int main()
{
int a[3][4]={
{11,32,45,67},{22,44,66,88},{15,72,43,37}};
printf("max value is %d\n",max_value(a));
return 0;
}
int max_value(int array[][4])
{
int i,j,max;
max=array[0][0];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
if(array[i][j]>max)
max=array[i][j];
return max;
}
结果:
解析:
1.调用函数时传递数组名,和一维数组做函数参数基本相同。
2.形式参数的行数可以不确定,但列数必须是确定的!
(如:A处可以使用诸如:int array[][4]、int array[3][4]形式的定义。而不能使用诸如:int array[][]、int array[3][]形式的定义)
3.形式参数中数组的列数必须和实际参数中数组的列数相同!(如:int array[][10]作为形参,而将array[2][4]这样的数组作为实参是不行的)
4.以上两条的原理和二维数组定义的规律相同,希望深入了解可以查阅学习笔记---二维数组篇
代码示例2:
#include <stdio.h>