p=p->next

最近在寫鏈表時經常用到p=p->next,用來尋找下一個節點,於是便產生了一個疑問,當p=p->next時,p原來的地址不會被覆蓋嗎?

答案是不會,我的理解:如果把P比喻成人,家比喻成地址那麼有

P沒有移動時:

P移動後,即p=p->next時:

那麼雖然P移動到了P->next家,但是P原來的家還是存在的,也就是原來的地址沒有還在,變的時人的位置,也就是P的位置。在通俗一點就是P買了新房子,於是搬到了新家,但舊房子還是在那原來的位置,你不能說因爲P搬了個家然後舊房子就憑空消失了吧?

同理p->next=p也是一樣,只是改變了位置,地址還在,但這種寫法一般用不到,因爲寫了也沒啥用,而且寫完之後p->next的地址也找不到了。比如一個鏈表p,p->next,p->next->next ·····,如果用p->next=p寫完之後鏈表就變了了p,p,p········

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章