C语言中,数组可以作为函数的参数,包括数组元素、数组名以及多维数组名。
-
数组元素作函数实参:
数组元素可以作为函数实参,其用法与变量相同,实参与形参之间是单向传递,即“值传送”方式。 -
数组名作函数参数:
- 数组名可以作函数实参和形参,传递的是数组首元素的地址。
- 实参数组与形参数组类型应一致,否则结果将出错。
- 在被调用函数中,形参数组首元素和实参数组首元素具有同一地址,它们共占同一存储单元,因此形参数组中各元素的值如发生变化会使实参数组元素的值同时发生变化。
- 形参数组可以不指定大小,也可以省略第一维的大小说明,但不能省略第二维及其他高维的大小说明。
-
多维数组名作函数参数:
- 多维数组元素可以作函数参数,多维数组名也可以作为函数的实参和形参。
- 在第二维大小相同的前提下,形参数组的第一维可以与实参数组不同。