函数的参数传递指的是什么?有哪几种传递方式?
函数的参数传递:当进行函数调用的时候,要填入与函数形式参数个数相同的实际参数,在程序运行的过程中,实参会将参数值传递给形参,这就是函数的参数传递。函数参数传递有以下三种:一.值传递1.用值传递方式,实际上是把实参的内容复制到形参中,实参和形参是存放在两个不同的内存空间中。在函数体内对形参的一切修改对实参都没有影响;2.如果形参是类的对象,利用值传递的话每次都要调用类的构造函数构造对象,效率比较低。二.指针传递(地址传递)1.当进行指针传递的时候,形参是指针变量,实参是一个变量的地址或者是指针变量,调用函数的时候,形参指向实参的地址;2.指针传递中,函数体内可以通过形参指针改变实参地址空间的内容。三.传递引用1.引用实际上是某一个变量的别名,和这个变量具有相同的内存空间;2.实参把变量传递给形参引用,相当于形参是实参变量的别名,对形参的修改都是直接修改实参;3.在类的成员函数中经常用到类的引用对象作为形参,大大的提高代码的效率。
什么是形参和实参?参数传递的方式有哪些?
用数学中的函数对比,如f(x)=2x10f(x)是返回值,x是形参,当你给x赋值为5时,实参是5,当赋值为10时,实参是10因此,概括的说实参是某次函数调用时给形参的赋值参数传递方式本质上只有一种,即传值。传址与传引用都是传值的概念转换,比如voidcalc(int*ptr)在调用时,表面上是传址,但对ptr这个形参来说,它的值初始化为了实参,因此是传值。最本质的理解方法是,从内存的角度,给某个变量赋值无外乎在某个地方内存中写值,因此你需要关注目标内存是否被改变。比如,给指针形参指向的内存写值时,写的就是实参指向的内存,这就是传址的本质。
原文标题:参数传递的三种方式 函数的参数传递指的是什么?有哪几种传递方式?,如若转载,请注明出处:https://www.saibowen.com/wenda/21582.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「赛伯温」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。