指標變數qssnextps是什麼意思

2021-03-03 21:22:46 字數 3615 閱讀 8946

1樓:東風冷雪

q=s; //把s結點儲層起來

s=p->next

p=s這個好像是 移動結點,

2樓:匿名使用者

應該是q=s; s=s->next ; p=s; 吧

資料結構中:s->next=p->next;p->next=s.怎麼解釋。

3樓:lb躍鈥岡

s->data=e;//將節點s的data值設定為e

s->next=p->next;//連結串列指標的賦值,將p的下一個節點的位置付給了s的下一個節點

p->next=s; //實現插入,把s接到p的下一個節點上

4樓:陸舒傑

這個應該是連結串列裡面最常遇見的問題了!

s->next的意思是s指向的某個(如結構體)變數中的next這個成員本身

然後把p->next的地址賦值給s->next,也就是說s->next指向p->next

連結串列中使用的較多!一個連結串列的一個節點包括資料域和指標域兩部分,s->next指向的是p->next這個節點!

希望幫助到你!

5樓:風嘯無名

1) 把p的下一個節點上到s的下一個節點上2) 把s接到p的下一個節點上

3) 把p的一下個節點賦值給s

定義和用法

next() 函式將內部指標指向陣列中的下一個元素,並輸出。

相關的方法:

prev() - 將內部指標指向陣列中的上一個元素,並輸出current() - 返回陣列中的當前元素的值end() - 將內部指標指向陣列中的最後一個元素,並輸出reset() - 將內部指標指向陣列中的第一個元素,並輸出each() - 返回當前元素的鍵名和鍵值,並將內部指標向前移動

6樓:足球隊聯絡員

我想了一晚上,得出結論如下

7樓:匿名使用者

s指向的是x吧,第一句的意思是把b向後挪一下,第二句的意思是把x插進來。

8樓:歲月丿一殤

雖然有點晚了,我來解釋一下。

s->next=p->next的意思很簡單,就是把p結點的下一個結點的地址給s結點的下一個結點。

因為這是要在p結點和p->next結點之間插入s結點。所以p->next結點是在s結點之後的,第一句就是這個意思,達成p->next與s的連線,p->next結點就在s結點之後了。

第二句p->next=s 這句的意思就是把s結點的位置放在p結點之後的意思。

這麼一來就是p->next結點在s結點之後,p結點在s結點之前,這麼說能懂嗎?

建立連結串列時,p->next=s;與p=s;有什麼區別??分別是什麼意思???

9樓:lzs丶灬

首先把s指向p後面的一個節點,就是把s接到p後面

然後把p指向s這個節點,就是把p指向p後面這個節點

這兩句話執行後就是p=s=之前的p->next

10樓:蛋蛋愛你吧

就是把p指向的結點裡的next指標指向s,p指向的是最後的一個結點,現在最後的結點是s,所以改變p的指向,讓p指向了s,下次迴圈又是一樣,

c語言連結串列中s->next=p;s=p什麼意思

11樓:砍侃看

假設s指向連結串列的最後一個節點,因為s指向的節點是最後一個,所以s->next是null。假設這時需要將一個新節點p插在連結串列的結尾,很明顯我們需要讓最後一個節點指向p,於是s->next=p;就可以讓最後一個節點指向p,這時p就是最後一個節點。s=p就是將s指向p,也就是s這時候指向的還是最後一個節點。

s->next=p->next;的含義

12樓:匿名使用者

1) 把p的下一個節點上到s的下一個節點上

2) 把s接到p的下一個節點上

3) 把p的一下個節點賦值給s

13樓:豬豬大拉風

p指向s的下一個節點

p指向節點s

p的下一個節點賦值給s

14樓:雲落楓

這是連結串列題目吧

s,p為節點指標

設初始順序為s->p->q

1.p->next=q;

故s->next=p->next; 結果為s->q

p->q

2.結果為

s->p

p->q

3.結果為

p->qs=q

c++ 連結串列中p=head, p->next=s , s=p的含義?

15樓:匿名使用者

首先,你要理解p指標的含義。

根據你的描述,p指標應該是連結串列內遍歷各節點的指標,那麼這個指標是不停移動的。

而head指標永遠指向連結串列的頭結點。

開始,要讓自己宣告的指標p指向連結串列的頭結點。所以有p=head;

進行完這個操作後,p指標和head指標同時指向了連結串列的頭結點。

下面,我們要向連結串列中插入一個節點,那麼這個新插入的節點是什麼呢,就是指標s指向的節點。因為連結串列中每個節點的next指標指向了下一個節點的地址,因此有

p->next=s;

這句話的意思是,讓s指標指向的節點連線在p指標指向節點的後面。

最後,我們又要插入新的節點,那麼,必定是要插入在剛才s節點之後的位置,因此,需要移動p指標到剛才s指標指向的節點的位置,所以有

p=s;

記住,連結串列中,永遠只有一個指標移動,這個指標就是p指標。

16樓:enjoy冰心玉壺

我想上面的**應該是在建立連結串列時需要的。比如有下面的資料結構:

struct node

;連結串列中一般都有頭結點,就是head,其中可以存放資料,也可以不存放資料。在動態建立連結串列的過程中,肯定需要定義一個新的結點,比如pnext。

pnext=(struct node *)malloc(sizeof(struct node));

這時候應該將頭結點head的next域指向該新的結點。但是head一般不移動,因為移動後就找不到頭結點了。所以定義一個指標p,p在開始時指向頭結點,就是

p=phead;

建立完新的結點後,p的next域指向該新結點。由於下一次還要建立新節點,所以p要再指向現在已經建立好的新結點。這樣下一次建立新的結點時才能正確指向該節點。

不知道表達的好不好,把源程式複製在下面吧,應該看一下程式就懂了。

#include

#include

struct node

;struct node *create_list();

void display_list(struct node *p);

int main()

struct node *create_list()

return phead;

}void display_list(struct node *p)

}程式沒有錯誤的,可以執行,可以看一下create_list()函式,是建立連結串列,包含你想知道的問題,建立連結串列是一個迴圈結構。把執行結果也複製一下

指標變數能直接賦值嗎,可以對指標變數進行賦值嗎,例如 p

指標變數一般是不可以直接賦值的,因為直接賦值的話,就是讓這個指標指向這個賦值的地址,萬一這個地址是你計算機內部的某個程式的或者是系統的某個地址,而你對這個指標的值又改變了,那麼你的計算機系統就會出現問題,可能導致系統不能正常執行活著程式出錯等等。但是null是一個空地址,即0,它不指向任何地址,所以...

typedef結構體指標變數再去定義變數什麼意思

driverextension是一個你自己命名的結構體的名字 看起來是驅動拓展?結構體裡的結構是自己定義的,不過這個結構體貌似是引用了另一個結構體。你說的pdriver extension driverextension就是這樣定義結構體的,沒有問題 typedef是自定義型別,相當於,用pdriv...

int指標變數宣告定義,變數定義和變數宣告的區別

第一句話錯,原因是 int的指標變數p裡可以放空指標或是一個整型值,int型的指標就只能存放int,這裡的null意思是申明p指向空,不是存放空指標。第二局也不對 int 宣告的指標變數裡面放的不應該是一個指標麼?裡面存放的是一個地址,他指向一個int 所以應該p a 你的這種p 5的寫法是不對的,...