cemaj 发表于 2022-12-22 15:00

值传递、指针传递、引用传递

1、值传递:形参时实参的拷贝,改变函数形参并不影响函数外部的实参,这是最常用的一种传递方式,也是最简单的一种传递方式。只需要传递参数,返回值是return考虑的;使用值传递这种方式,调用函数不对实参进行操作,也就是说,即使形参的值发生改变,实参的值也完全不受影响。  2、指针传递:指针传递其实是值传递的一种,它传递的是地址。值传递过程中,被调函数的形参作为被调函数的局部变量来处理,即在函数的栈中有开辟了内存空间来存放主调函数放进来实参的值,从而成为一个副本。因为指针传递的是外部参数的地址,当调用函数的形参发生改变时,自然外部实参也发生改变。  3、引用传递:被调函数的形参虽然也作为局部变量在栈中开辟了内存空间,但在栈中放的是由主调函数放进来的实参变量的地址。被调函数对形参的任何操作都被间接寻址,即通过栈中的存放的地址访问主调函数中的中的实参变量(相当于一个人有两个名字),因此形参在任意改动都直接影响到实参。

Bowclad 发表于 2022-12-23 16:24

大多数人用的应该还是c语言没得引用

Undshing 发表于 2022-12-26 11:52

值传递比较浪费空间

Betty996 发表于 2022-12-27 15:18

感觉还是指针好用

Carmen7 发表于 2022-12-27 16:27

这几种传递方式都正常吧,看个人习惯

Estelle1999 发表于 2022-12-27 17:35

还有一种是全局变量的操作,属于那种传递啊?

Emily999 发表于 2022-12-27 18:27

我对C语言还是不太熟悉,一般都是ctrl C+V

Annie556 发表于 2022-12-27 19:52

还是用适合自己的吧,有些时候用指针比较方便,但是有些时候很容易溢出啥的,就比较难搞

B1lanche 发表于 2022-12-27 20:26

属实,值传递是比较常用的一种传递方式了

Charlotte夏 发表于 2022-12-28 07:02

传参嘛,一般不都是指针传么

Alina艾 发表于 2022-12-28 08:20

引用传递是不是就全局变量的操作啊?

天天向善 发表于 2022-12-28 09:42

引用传递是C++的知识吧。

芯路例程 发表于 2022-12-28 09:43

Undshing 发表于 2022-12-26 11:52
值传递比较浪费空间

不浪费空间吧,最多就4个字节或者8个字节。因为传递数组一类的都是传递指针。

Pretext 发表于 2022-12-28 09:44

Estelle1999 发表于 2022-12-27 17:35
还有一种是全局变量的操作,属于那种传递啊?

那个就和函数的实参形参没有关系了。

Pretext 发表于 2022-12-28 09:44

Emily999 发表于 2022-12-27 18:27
我对C语言还是不太熟悉,一般都是ctrl C+V

什么语言都可以ctrl C+V,话说不会C怎么玩单片机。

alxd 发表于 2022-12-28 10:14

如果再讲的细致一点就好了,这对C语言不咋好的同学,很受益的

Carina卡 发表于 2022-12-28 13:37

好像用值传递比较多,都是一些数据传到子函数之中这种操作

MessageRing 发表于 2023-1-3 14:24

传指针比较节省空间吧

豌豆爹 发表于 2023-1-4 15:38

引用传递在什么场合用了
页: [1]
查看完整版本: 值传递、指针传递、引用传递