值传递和引用传递的区别

值传递:

    实参传递给形参的值,实参和形参再内存上是两个独立的变量,对形参的修改不会影响实参的值

    如下图修改形参的值,不会改变实参的值,形参是实参创建的一个副本,副本改变不会影响原本

值传递和引用传递的区别

 

引用传递:

    实参是传递给形参的是堆内存上引用的地址,形参和实参在内存上指向的是同一地址,对形参的改变会影响实参

    如下图,实参传递给形参的是堆内存应用的地址,对形参的修改会影响实参

值传递和引用传递的区别