c++中地址传递和值传递有什么区别?

如题所述

值传递。

实参与形参数据传递有两种方式:值传递与地址传递。
地址传递的形式为 int &a=b;
也就是我们所说的引用,但引用只有C++中有,所以C语言都是值传递的。

有些人有误解:认为C语言的int *p=&a;不也是按地址传递吗?其实不是这样的。

深入理解值传递与地址传递就会发现:
值传递是:把实参的值传给一个变量(形参)。所以int *p=&a也是把a的地址值传给了指针变量p
地址传递是:直接把地址传进来,没有赋给任何变量,这样在函数体内对形参的操作也就是对实参地操作。有这种功能的也就是引用(&)了。
温馨提示:答案为网友推荐,仅供参考
相似回答