数组作为函数参数
一、数组元素作为函数参数
- 数组元素可以作为函数实参,但不可以作为函数形参。
- 实参可以是常量、变量或表达式,数组元素的作用相当于一个变量,所以可以作为实参。
- 数组元素不能作为形参的原因:
因为形参的作用是,在函数被调用时,临时分配存储空间的,数组的存储是一段连续的存储空间,不能为其中某一个数组元素单独分配一块存储空间,所以数组元素不能作为形参。 - 数组元素作为函数实参,是把实参的值传递给形参,这是“值传递”的方式。
- 数据的传递方向是从实参传到形参,单向传递。
二、一维数组名作为函数参数
一维数组名可以作为函数参数,既可以做实参也可以做形参。
一维数组名本身是一个地址(数组第一个元素的地址),后续与指针联系起来。
形参数组可以不指定大小
void max (int arr [])
{
函数体
}
三、多维数组名作为函数参数
多维数组名同一维数组名类似,也是既可以做实参也可以做形参。
在被调函数中对形参数组定义时可以指定每一维的大小也可以省略第一维的大小,但是不能省略第二维或其他更高维的大小说明。