个人看法(不对望改正)
p和fullname[0]指向的是同一块地址空间,fullname[0]=“Bert”就是修改了改地址空间的值,所以getName得到了Bert
p.setName(bob)后bob和p.name都指向了内容为Bob所在的内存块,而bob=”Alice“是在内存空间开辟了一块内容为Alice的内存块并更改bob指向了内容为Bob的内存块,所以第一次getName是Bob,第二次getName由于p.name指向不变所以还是Bob;如果此时setName(bob)在输出就是“Alice”了
Sign in to make a reply
做我的喵
个人看法(不对望改正)
p和fullname[0]指向的是同一块地址空间,fullname[0]=“Bert”就是修改了改地址空间的值,所以getName得到了Bert
p.setName(bob)后bob和p.name都指向了内容为Bob所在的内存块,而bob=”Alice“是在内存空间开辟了一块内容为Alice的内存块并更改bob指向了内容为Bob的内存块,所以第一次getName是Bob,第二次getName由于p.name指向不变所以还是Bob;如果此时setName(bob)在输出就是“Alice”了