第9章 数组 9.3 函数之间对一维数组和数组元素的引用
讨论本章
- 知识点:
- 数组元素作实参
- 数组名作实参
- 数组元素地址作为实参
- 函数的指针形参和函数体中数组的区别
当调用函数时,数组元素可以作为实参传送给形参,每个数组元素实际上代表内存中的一个存储单元,故和普通变量一样,对应的形参必须是类型相同的变量。数组元素的值可以传送给该变量,在函数中只能对该变量进行操作,而不能直接引用对应的数组元素,更不可能在函数中改变对应数组元素中的值。
数组名也可以作为实参传送,但数组名本身是一个地址值,因此,对应的形参就应当是一个指针变量,此指针变量的基类型必须与数组的类型一致。在函数中,可以通过此指针变量来引用调用函数中对应的数组元素,从而达到对调用函数中对应的数组元素进行操作而改变其中的值。
当用数组元素地址作为实参时,因为是地址值,所以对应的形参也应当是基类型相同的指针变量。
若有以下程序,程序中定义了fun函数,形参a指向主函数中的w数组,函数体内定义了一个b数组,函数把b数组的起始地址作为函数值返回,企图使主函数中的指针P指向函数体内b数组的开头。