r和s不都是地址嗎?那r=s不就是把s的地址賦值給r嗎?這有什么意義啊?
uj5u.com熱心網友回復:
r和s都是變數,只是它們的記憶體存的是個地址資訊,r=s就是把s的記憶體資訊復制給r,因為s的記憶體資訊是an的地址,所以r的記憶體資訊也修改成了an的地址。在你這個圖就是r和s都指向an了,相當是把r移到s的位置(即r和s都在an這個位置)uj5u.com熱心網友回復:
大佬請問r和s都只存地址嗎?還有r和s都指向an是不是因為r=s這步操作所以r指向an,然后s本身存盤自己an的地址所以r和s都指向an啊?
uj5u.com熱心網友回復:
還有r結點是不是由r,r->next,data組成的啊?
uj5u.com熱心網友回復:
你要先搞明白一件事兒新節點,是放在記憶體當中的, 這個東西只有一份兒(這個記憶體當中有個next屬性-——指標)
但是你可以弄100個指標變數,都指向這個地址, 這能理解吧。
你要做的作業不是管這些變數如何如何,而是讓節點上的那個next指標,指向下一個記憶體塊
r和s都是中間變數, 臨時用用而已
所以,你要時刻看的是, 這些記憶體塊上的next是怎么變化的
uj5u.com熱心網友回復:
r是指向當前的記憶體塊的指標s是指向要掛接上來的記憶體塊指標
所以r->next = s; 這個和r其實屁關系都沒有, 是r指向的記憶體塊上的那個next屬性, 被設定成要掛接的記憶體塊地址了
而后呢, 要繼續掛下一個記憶體塊了
為了保持r始終是當前記憶體塊的意義,才有了后面的r=s
s呢? 馬上下一個回圈進來了,s會重新再指向新的要掛接的記憶體塊了
uj5u.com熱心網友回復:
r是個變數,它指向一塊記憶體地址,該記憶體地址存放的data和next資訊比如r是郵遞員,他現在到張三家,給張三家放了一個包裹(data)和一個李四家門牌號(next)。此時,另外一個郵遞員s正在李四家。r要去會見s(r=s),所以r就來到了李四家。此時r和s都在李四家。
uj5u.com熱心網友回復:
你要先搞明白一件事兒
新節點,是放在記憶體當中的, 這個東西只有一份兒(這個記憶體當中有個next屬性-——指標)
但是你可以弄100個指標變數,都指向這個地址, 這能理解吧。
你要做的作業不是管這些變數如何如何,而是讓節點上的那個next指標,指向下一個記憶體塊
r和s都是中間變數, 臨時用用而已
所以,你要時刻看的是, 這些記憶體塊上的next是怎么變化的
那是不是說r和s并不是僅僅是an-1和an,如果后面有an+1,an+2,r和s也會為他們作為中間變數
uj5u.com熱心網友回復:
r是指向當前的記憶體塊的指標
s是指向要掛接上來的記憶體塊指標
所以r->next = s; 這個和r其實屁關系都沒有, 是r指向的記憶體塊上的那個next屬性, 被設定成要掛接的記憶體塊地址了
而后呢, 要繼續掛下一個記憶體塊了
為了保持r始終是當前記憶體塊的意義,才有了后面的r=s
s呢? 馬上下一個回圈進來了,s會重新再指向新的要掛接的記憶體塊了
謝謝大佬


uj5u.com熱心網友回復:
r和s都是變數,只是它們的記憶體存的是個地址資訊,r=s就是把s的記憶體資訊復制給r,因為s的記憶體資訊是an的地址,所以r的記憶體資訊也修改成了an的地址。在你這個圖就是r和s都指向an了,相當是把r移到s的位置(即r和s都在an這個位置)
大佬請問r和s都只存地址嗎?還有r和s都指向an是不是因為r=s這步操作所以r指向an,然后s本身存盤自己an的地址所以r和s都指向an啊?
還有r結點是不是由r,r->next,data組成的啊?
謝謝大佬


uj5u.com熱心網友回復:
尾插法完全可以不用那么多臨時變數,有一個就夠了s就是當前記憶體塊的指標
s->next = new/malloc 新的塊
s->next->next = NULL;
s->next->date = 賦值
s = s->next; 又變成了當前節點了
這樣看你就清楚了
無非是把s->next在前面的例子當中用另外一個臨時指標r來替代,讓代碼寫到短一點兒, 僅此而已
關鍵還是記憶體塊上的next屬性掛接
uj5u.com熱心網友回復:
謝謝大佬們愛你們

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/124453.html
標籤:C++ 語言
