值传递和引用传递的区别是什么?

2024-11-05 22:34:16
推荐回答(2个)
回答1:

在不同的编程语言中可能会大同小异吧
在C#中,这些都是针对方法而言的。
值传递指的是方法被调用时传递进来的参数是一个副本(拷贝),而不是传递进来参数本身。换句话说对值传递参数的修改不会影响到调用方传递的参数对象;
而引用传递指的是方法被调用时传递进来的参数是一个引用,换句话说传递进来的参数是指向调用方传递的参数本身的。对引用传递的参数的修改会影响到调用方传递的参数对象。

回答2:

传值会为实参在栈中做一副本,函数只能改变栈中副本的值,而不会改变实参的值。
传引用是把实参的指针传递给函数,不用做副本,对引用的修改就是对原值进行修改.所以效率较高.