一维数组
1.数组元素可以作为函数实际参数,不能作为形式参数
2.实参传递到形参,单向传递
3.用数组元素作为实参时,向形参(数组元素类型地形参)传递的是数组元素的值,而用数组名作为函数的实参时,向形参(数组名或者指针变量)传递的是数组首元素的地址
4.数组作为函数形参时,其指定的数组大小是不起任何作用的,实际上在编译后数组形参会转化为指针变量来处理,用来接收地址,因此在形参是数组类型时,这个数组可以不用指定大小(可写可不写),直接在数组名后面跟个[ ] 空的方括号即可
多维数组(作为函数参数)
1.被调用函数中对形参数组定义时可以指定每一维地大小,也可以省略第一维地大小说明但第二维必须指定大小,例如:
void max(int array[3][10]); 正确
void max(int array[][10]); 正确
void max(int array[8][10]); 正确
以上三种等价,一维的大小不起任何作用
void max(int array[][]); 错误
void max(int array[3][]); 错误
二维数组(int array[3][10])作为形参时,在程序编译后这个形参转化为一个数组指针,指向一个长度为10的数组,既:int (*)[10]这种类型