请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

为什么指针p3=l3 l3是一个对象 p3的改变为啥不会引起l3的改变?

这好像和之前的对引用类型的认知非常颠覆,如何理解呢

正在回答

插入代码

3回答

这就是引用类型的特性,你可以自己那别的数据试试

0 回复 有任何疑惑可以回复我~
  • 执行完p3=p3.next之后,p3和l3没有关系了,再次循环到p3.next=new ListNode(val%10)时为什么p3的属性值变化还会影响l3呢?
    回复 有任何疑惑可以回复我~ 2025-03-19 15:02:40
烈霓殇 2021-04-19 15:08:40

没有和你之前对引用类型的认知产生矛盾。

仔细分析一下:

"p3.next = new ListNode(val % 10)" 这句代码改变了 p3 的next,同时也改变了 l3 的next,因为此时 p3 和 l3 是一个对象。

"p3 = p3.next" 这句代码,改变了 p3 的指向,此时 p3 的引用指向原 p3.next,不再指向 l3,也就是这句代码执行后 p3 和 l3 就不是一个对象了。



2 回复 有任何疑惑可以回复我~
  • 执行完p3=p3.next之后,p3和l3没有关系了,再次循环到p3.next=new ListNode(val%10)时为什么p3的属性值变化还会影响l3呢?
    回复 有任何疑惑可以回复我~ 2025-03-19 15:02:19
weixin_慕函数4026144 2021-10-20 12:38:42

对象是引用类型,I3指向房间a, p3=l3, p3此时也指向房间a

当你改变p3时,p3此时指向别的房间了,对房间a里面的东西并没有影响

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号