首页 理论教育 C语言程序设计:函数与数组

C语言程序设计:函数与数组

时间:2023-10-20 理论教育 版权反馈
【摘要】:在处理数组时,由于数组大小不同,在定义函数时,需要定义一个整型形参表示数组的长度。实参和形参共用同一存储空间,形参数组中各元素的值发生变化会使实参数组元素的值同时发生变化。

C语言程序设计:函数与数组

数组可以作为函数的参数使用,进行数据传递。数组用作函数参数有两种形式:一种是把数组元素作为实参使用;另一种是把数组名作为函数的实参使用。

1.数组元素作为函数实参

由于数组元素就是变量,可以把数组元素作为函数的实参,传递的方式是单向传递,即"值传递"方式。

【例8.7】找出以下数组中的素数并输出。

程序代码:

运行结果:

程序讲解:

用数组元素作为函数实参,形参必须与数组元素类型一致,每次调用函数时,把数组元素的值传递给函数形参。

2.数组名作为函数实参

用数组元素作函数,可以实参向形参传递一个数组元素的值。如果希望在函数中处理整个数组的元素,可以用数组名作为函数实参。数组名代表数组的首地址,只是将数组的首元素的地址传递给所对应的形参,是"地址传递"方式。(www.xing528.com)

【例8.8】求出一维数组中的最大值。

运行结果:

程序讲解:

当要处理的对象为数组时,可以在定义函数时将形参定义为数组。在处理数组时,由于数组大小不同,在定义函数时,需要定义一个整型形参表示数组的长度。在调用函数时,用数组名作实参,不是把数组元素的值传递给形参,而是把实参数组的首元素地址传递给形参,这样实参和形参使用同一段内存空间。形参数组各元素的值如果发生变化,则实参数据也发生变化。

【例8.9】定义一个函数把字符串的小写字母转换成大写字母,并统计字符串中的数字的个数。

运行结果:

程序讲解:

程序中需要对字符串进行操作,在定义函数时用字符数组作形参,对字符串的操作一般以是否为\0作为结束标志,不需要定义形参表示字符数组的长度。在函数int fun(char a[])中依次取出数组a的字符元素进行判断,如果表达式a[i]>='a'&& a[i]<='z'为真,表示该字符为小写字母,则进行转换a[i]-=32;如果表达式a[i]>='0'&&a[i]<='9'为真,表示该字符为数字,则计数num++。在函数调用时,从主函数把需要处理的字符数组名b 作为实参传递给形参a。

实参和形参共用同一存储空间,形参数组中各元素的值发生变化会使实参数组元素的值同时发生变化。

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

我要反馈