淮师智汇 --知识论坛

胡家赫

函数传参有几种方式?

发表于:2019年4月10日 22:34:56 阅读量:3454

函数传参有三种传参方式:传值、传址、传引用。
1、按值传递
(1)形参和实参各占一个独立的存储空间。
(2)形参的存储空间是函数被调用时才分配的,调用开始,系统为形参开辟一个临时的存储区,然后将各实参传递给形参,这是形参就得到了实参的值。

2、地址传递
地址传递与值传递的不同在于,它把实参的存储地址传送给形参,使得形参指针和实参指针指向同一块地址。因此,被调用函数中对形参指针所指向的地址中内容的任何改变都会影响到实参。
3、引用传递
引用传递是以引用为参数,则既可以使得对形参的任何操作都能改变相应数据,又使函数调用方便。引用传递是在形参调用前加入引用运算符“&”。引用为实参的别名,和实参是同一个变量,则他们的值也相同,该引用改变则它的实参也改变。

王腾飞

沙发

首先要明白为何函数要进行参数传递?

为了实现程序中各功能的模块化,将各个功能模块单独地写成一个函数,在主函数或其他要用到该功能模块的函数中去调用该函数,从而达到程序中功能的模块化,提高整个程序的可读性。

那么被调函数和主调函数之间如何进行信息通讯呢?就要通过函数传参来实现。当然,也可以用全局变量来实现调函数和主调函数之间的信息传递,但是大量使用全局变量不利于整个程序的模块化,而且随着程序变得庞大起来,程序中的全局变量越来越难以管理,程序编写将变得越来越困难,因此尽量不要用全局变量。此时函数传参就显得很重要。


张中兰