详述值传递和地址传递
值传递和地址传递用到了栈与堆的知识。
我们来看一部分代码示例;
从图中我们可以看出值传递是不会改变a的值,虽然将a的值赋值给了b,但是b的修改不会影响a的内容。
对于地址传递,假设有数组array与ages,将array数组赋值给ages数组,其实是将array的地址赋值给了ages数组,在栈中,他们指向同一地址,所以一旦两者中任何一个数组的内容发生改变,数组的内容就会改变。
值传递和地址传递用到了栈与堆的知识。
我们来看一部分代码示例;
从图中我们可以看出值传递是不会改变a的值,虽然将a的值赋值给了b,但是b的修改不会影响a的内容。
对于地址传递,假设有数组array与ages,将array数组赋值给ages数组,其实是将array的地址赋值给了ages数组,在栈中,他们指向同一地址,所以一旦两者中任何一个数组的内容发生改变,数组的内容就会改变。