首页 理论教育 《C语言函数参数中的数组》

《C语言函数参数中的数组》

时间:2023-10-23 理论教育 版权反馈
【摘要】:例8-4运行视频方法2:通过指针变量间接引用数组元素。对形参指针所指向的存储单元的操作,实际上就是对实参数组元素的操作。图8-6例8-5的运行结果归纳起来,当数组名用作函数参数时,形参和实参的表示形式有以下4种情况。

《C语言函数参数中的数组》

1.数组元素作函数的参数

当数组元素作为函数参数时,与普通变量作为函数参数的情况相同,都是值传递方式,即在函数调用时,将实参数组元素的值传递给形参变量。

【例8-4】求n个元素的整型数组中偶数的个数(数组元素作函数的参数)。

方法1:直接引用数组元素。

例8-4 运行视频

方法2:通过指针变量间接引用数组元素。

程序运行结果如图8-5所示。

图8-5 例8-4的运行结果

2.数组名作为函数参数

我们在数组一章介绍过,当数组名用作函数参数时,函数调用将改变形参数组元素的值,因此函数调用后实参数组元素的值也会随着改变。

在C语言中,调用函数采用的是“值传递”方式。当用变量作为函数参数时,传递的是变量的值;当用数组名作函数参数时,由于数组名代表的是数组的起始地址,因此传递的是数组的首地址,所以要求形参为指针变量。

在进行函数定义时,往往采用形参数组的形式,因为在C语言中用下标法和指针法都可以访问数组,但是应该明确一点,形参数组的本质就是一个指针变量,由此指针变量接收实参传递的数组首地址。对形参指针所指向的存储单元的操作,实际上就是对实参数组元素的操作。

【例8-5】编写函数将数组中的n个整数按相反顺序存放。

例8-5 运行视频

程序运行结果如8-6所示。(www.xing528.com)

图8-6 例8-5的运行结果

归纳起来,当数组名用作函数参数时,形参和实参的表示形式有以下4种情况。

1.形参和实参都用数组名。

2.实参用数组名,形参用指针变量。

3.形参和实参都用指针变量。

4.实参用指针变量,形参用数组名。

应该注意的是,如果用指针变量作实参,必须先使指针变量有确定的值,即使指针变量指向一个已经定义的数组。

以上4种方式实际上传递的是数组的首地址,是地址传递,属于地址传递方式,是双向传递。

【例8-6】编写函数,实现选择排序(用指针实现)。

例8-6 运行视频

程序运行结果如图8-7所示。

图8-7 例8-6的运行结果

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈