传参的三种方式

传参的三种方式1.按值传递形参和实参各占一个独立的储存空间,形参的储存空间是函数被调用才分配的,调用时,系统为形参开辟一个临时的存储区然后将各实参传递给形参,这时形参就得到了各实参的值。2.地址传递形参得到实参的储存地址,使得形参指针和实参指针指向同一块地址,因此函数中对形参的造成的任何变化都能影响到实参。

大家好,欢迎来到IT知识分享网。

1.按值传递

形参和实参各占一个独立的储存空间,形参的储存空间是函数被调用才分配的,调用时,系统为形参开辟一个临时的存储区然后将各实参传递给形参,这时形参就得到了各实参的值。

2.地址传递

形参得到实参的储存地址,使得形参指针和实参指针指向同一块地址,因此函数中对形参的造成的任何变化都能影响到实参。

3.引用传递

以引用为参数,对形参的任何操作都会对实参进行相应改变。

 

猜测:(不一定对,突然想起来就写了写自己的想法,要是有大佬指正就太感谢了,继续忙该死的二叉树去了,他妈的真累啊)

比如有一个class C{};

C* c;//这是声名c是一个C类的一个对象,但是此时c没有得到初始化。

c = new c();//这是c得到初始化(暂时不执行此句)

现在有三个函数,一个是

void max(C *c){/*…*/};//打咩,因为传参时需要c的堆内存地址。

一个是

void min(C c){/*…*/};打咩,因为传参时需要接受c的数值。

最后一个是

void middle(C &c){/*…*/};呦西,因为传参传的是c的引用,不需要c的地址或是开辟空间接收c的值。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/30295.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信