为了账号安全,请及时绑定邮箱和手机立即绑定

我觉得循环中的p2->next应该等于p1->next 为什么会是p2->next=p1有哪位大神看懂了能帮我解释一下吗?

我觉得循环中的p2->next应该等于p1->next 为什么会是p2->next=p1有哪位大神看懂了能帮我解释一下吗?

正在回答

2 回答

p2->next的含义是“指针”,指针指向下一个对象的地址,所以p2->next指向下一个对象p1,这是正确的,对象里保存的属性才是代码需要用到的,而指针只不过指向下一个取属性的对象,仅仅是指路功能;

p2->next=p1->next,就变成指针指向指针,这样根据p2的指针取到的东西,并不是p1对象,而变成p1的下一个结点的指针,那就等于跳过了p1了,逻辑就不对了,所以p2的指针初衷就是要指向p1这个对象的。

1 回复 有任何疑惑可以回复我~
#1

果爱上了然 提问者

非常感谢!
2016-08-24 回复 有任何疑惑可以回复我~

p2相当于是尾指针,始终指向链表最后一个结点,p2->next=p1就是把新创建的结点和链表的尾结点连接起来,而你说的p1->next此时是NULL,如果p2->next = p1->next,那么p2->next 就等于空了。

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我觉得循环中的p2->next应该等于p1->next 为什么会是p2->next=p1有哪位大神看懂了能帮我解释一下吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信