zhongning123 发表于 2022-7-30 15:06:35

求解

x =
y = x
y = 1
x == y
这里改了y数组的第二个数,x,y是引用的一个地址。那就相当于改一个就都改了对吧。
可我还有种想法就是y改了之后跟原来的数组是两个不同的东西了,内存不应该新开辟一个地址吗?这样的话不就是x,y不是同一个地址了吗?
这方面我一直不太清楚,求大佬讲一下。

Twilight6 发表于 2022-7-30 16:25:17


简单理解,变量名就是给事件地址取了别名,例如这里 x、y

当你将 x = 赋值后, x 实际上指向的就是列表 的地址,此时 列表 有别名 x

然后 y = x ,相当于将 x 指向的地址赋值给 y,即 再次给列表 的地址贴上 y 的别名

此时列表 就有 两个别名,分别是 x、y,所以当 y = 1 时 等价于 x = 1,因为它们都是指向一个地址

zhongning123 发表于 2022-8-3 10:31:09

Twilight6 发表于 2022-7-30 16:25
简单理解,变量名就是给事件地址取了别名,例如这里 x、y

当你将 x = 赋值后, x 实际上指 ...

谢谢老哥!我懂了

刘华峰 发表于 2022-8-3 16:19:22

谢谢答疑解惑
页: [1]
查看完整版本: 求解