怎麼理解c語言連結串列的這兩個語句,rnextprp

2021-03-03 21:22:51 字數 3689 閱讀 1209

1樓:

r->next=p;——讓指標r指向的結點的下一個結點的指標等於指標p。

r=p;——將p賦給r。

雖然看專不到上下文屬,但大致意思是執行這兩後,就將p指向的連結串列接在了r指向的結點後,並r的指向向後移動了一個結點......供參考。

2樓:曾經的岑寂

r後面的節點為p;指標指向p指標指向的物件。

c語言連結串列這兩個語句s->next=p;s=p;怎麼理解

3樓:永生的獨行者

先讓s指標指向的結點指向p結點

然後再讓s指標指向p結點

:-d不懂請追問

r->next =p ?p:q;是什麼意思,c語言的語法,連結串列

4樓:匿名使用者

?是c語言中的三元運算子,格式如下:

(邏輯表示式1)?表示式2:表示式3;

當邏輯表示式1為真時,整個三元運算表示式返回表示式2的結果,否則返回表示式3的結果。

如下**

r->next =p ?p:q;

?前應該是一個邏輯表示式,這裡的p可以視為if(p)即結構指標p不為null時,返回p所儲存的指標,否則返回q儲存的指標。

5樓:

當p不為null時,給r->next賦值為p,否則給r->next賦值為q。

c語言連結串列中q->next=p;表示什麼意思?

6樓:南瓜蘋果

q->next = p; 表示將節點p加入到節點q之後。

意思:使當前指標指向連結串列的下一個結點。

一般作用在資料結構中的單連結串列裡由應用,語句中的p一般指向一個結構體型別的資料,此型別的資料通常表示節點;結構體裡存放的一些資料和記錄下一個節點地址的指標變數next;這個next就好比鏈條一樣,連線著一個個節點。

->是一個整體,它是用於指向結構體、c++中的class等含有子資料的指標用來取子資料。換種說法,如果在c語言中定義了一個結構體,然後申明一個指標指向這個結構體,那麼要用指標取出結構體中的資料,就要用到「->」.

擴充套件資料連結串列的特點:

1、n個節點離散分配

2、每一個節點之間通過指標相連

3、每一個節點有一個前驅節點和一個後繼節點4、首節點沒有前驅節點,尾節點沒有後繼節點建立連結串列前須知

首節點:存放第一個有效資料的節點。

頭節點:在單連結串列的第一個結點之前附設一個結點,它沒有直接前驅,稱之為頭結點,頭結點的資料域可以不儲存任何資訊,指標域指向第一個節點(首節點)的地址。頭結點的作用是使所有連結串列(包括空表)的頭指標非空。

頭指標:指向頭節點的指標。

尾節點:存放最後一個有效資料的節點。

尾指標:指向尾節點的指標。

7樓:匿名使用者

q-.next=p;

把p的地址賦給q的下一個地址

while (q)

把q的下一個地址賦給r;

p的地址賦給q的下一個地址;

q的地址賦給p的地址

r的地址賦給q;

直到q->next的地址為0就結束迴圈

其實連結串列要自己多畫畫就直到怎麼回事了

8樓:天雲一號

q->next = p; 表示將節點p加入到節點q之後。

具體的意思可以參考如下的圖形表示:

節點q----->節點p

一般連結串列的節點定義為:

struct node;

9樓:天地一孤鴻

把p(是指標,表示地址)賦給q的地址域。

10樓:匿名使用者

前面沒有說明r ,p,q是指向什麼的指標啊,後面就難猜了

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

11樓:砍侃看

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

c語言p=l;是什麼意思,還有p=l->next;是什麼意思,這兩個語句有什麼區別,l為連結串列的頭結點 5

12樓:匿名使用者

以後問的時候希望再說的清楚一點

問這個問題看來你c的知識瞭解的還不是很夠,連結串列的知識也有點貧乏啊連結串列的話 這裡p,l的型別應該都是自己定義的結構體 node大致struct node

node這個結構體裡存放了兩個變數,

entry就是節點的內容,next是一個node型指標,存放著下一個節點的地址,指向下一個節點

而所謂連結串列就是一串節點連在一起,像陣列一樣,比陣列的優點就是比如在陣列中間要插入一個數的話,插入位置之後的每一個元素都要向後移一位,而連結串列的話只需要修改插入位置前的節點的指標就可以了。

你這裡的兩個語句都是簡單的賦值,p = l;就是把讓自己定義的node p = 頭結點,

而p = l->next就是讓p = 頭結點的後一個節點。

這裡 ->是結構體中的運算子,表示使用這個結構體中的某個指標變數。

13樓:紅領巾飄過

p=l是讓p指向l這個節點。 p=l->next是讓p指向l的下一個節點。首先連結串列定義中next的定義必須是指向l型別的指標。

解釋下 p->next=null; r->next=p; r=p;什麼意思 5

14樓:無畏無懼

p->next=null:p指標指向的物件的next屬性為空

r->next=p:r指標指向的物件的下一個為p指向的物件

r=p:r指標指向p指標指向的物件。

15樓:愛笑的掰玉米

p->next=null:p指標指來向的物件的next屬性為自bai空

r->next=p:r指標指向

du的物件zhi的下一dao個為p指向的物件r=p:r指標指向p指標指向的物件。

next 命令顯示系統給歸檔在訊息處理程式(mh)資料夾中的下一條訊息分配的編號。將 next 的值指定為訊息,next 命令和 show 命令是等價的。

next 命令連結 show 程式,將任何切換傳遞到 showproc 程式上。如果連結 next 值,並且呼叫除 next 以外的連結,則連結就會像 show 命令那樣執行,而不是像 next 命令那樣。

show 命令將它未標識的標誌傳遞給執行列表的程式。next 命令為列表程式提供了很多標誌。

16樓:哈哈哈哥哥呵呵

#include

#include

using namespace std;

typedef struct node

link;

void create(link *&l,int n)r->next = l;

l = r;

}int main()

p = l->next;

l->next = p->next;

free(p);

} cout << l->k;

return 0;}

在C語言中這兩個有區別嗎,c語言中 和 有什麼區別?

if a xx i j z xx i j a xx i j z xx i j 少了一對括號,改成 if a xx i j z xx i j a xx i j z xx i j 就沒有區別了。有很多區別,如 1.運算子優先順序上的錯誤 2.效能上及可讀性等許多方面都不同 3.這是比較重要的一點。isa...

c語言的賦值語句可以有連續兩個等號嗎

可以bai的,c語言中賦值表示式du的返回值會向左傳遞。也zhi 就是說daoa 2這個表示式的 值為專2。這時如果if 2 a 2 那麼if的值屬為真。也就是說a b c 3是合法的。但是a b 2 9是不行的,因為9的值不能賦給2,它是個常量。把握住這一點,你就能推算出很多東西了。不可以,連續兩...

C語言中For語句後面的括號裡有兩個分號是什麼意思啊

沒什麼特別的意思,就是for迴圈沒有迴圈條件。這樣做法要看實際的需要,你這個題目是因為條件寫到迴圈體內了,當for迴圈結束的時候,i的值正好是需要的值,如果把條件寫在for裡面,那跳出迴圈的時候i的值可能需要減1 表示這個迴圈沒有初始化,沒有條件判斷,沒有標誌變數的變化 它是一個死迴圈 這樣的迴圈其...