参数传递的“传值”和“传址”有什么区别

发布网友 发布时间:2022-03-25 19:38

我来回答

2个回答

懂视网 时间:2022-03-25 23:59

传值和传址的区别如下:

  

  1、对实参的影响不同。传值是将实参的值传给形参后,实参与形参间便无任何联系,即形参的变化不会对实参产生任何影响。传值时,在形参前用ByVal来界定。传址是形参与对应实参用相同的内存地址,形参的改变将影响实参。

  

  2、对形参的影响不同。在传值中函数参数压栈的是参数的副本,任何的修改是在副本上作用,没有作用在原来的变量上。传址中压栈的是指针变量的副本,当对指针解指针操作时,其值是指向原来的那个变量,所以对原来变量操作。

  

  

热心网友 时间:2022-03-25 21:07

传址对原来的属性也没有影响,因为原来的属性也只是一个地址。传值一点影响都没有。
如果在方法中对这个地址中的对象进行了修改,原属性根据同样的地址找到这个对象是已经在方法中被改过了的对象,才提现为形参影响了实参
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com