第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

C++編程中,pNode = pNode->pNext;是什么意思?

C++編程中,pNode = pNode->pNext;是什么意思?

四季花海 2019-05-23 21:15:40
C++編程中,pNode = pNode->pNext;是什么意思
查看完整描述

3 回答

?
慕少森

TA貢獻(xiàn)2019條經(jīng)驗(yàn) 獲得超9個(gè)贊

這個(gè)估計(jì)是pNode是個(gè)結(jié)構(gòu)體,然后比如struct _Node{ ...... struct _Node * next;}Node;所以pNode = pNode->pNext是把pNode這個(gè)指針指向他的下一個(gè)元素。這個(gè)就相當(dāng)于一個(gè)鐵鏈,一個(gè)咬一個(gè),然后通過這個(gè),可以知道他的下一個(gè)是什么。

查看完整回答
反對(duì) 回復(fù) 2019-05-26
?
紅糖糍粑

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個(gè)贊

12345struct Node{    int a;    struct Node *next;};

鏈表中一般都有頭結(jié)點(diǎn),就是head,其中可以存放數(shù)據(jù),也可以不存放數(shù)據(jù)。在動(dòng)態(tài)建立鏈表的過程中,肯定需要定義一個(gè)新的結(jié)點(diǎn),比如pNext。

1pNext=(struct Node *)malloc(sizeof(struct Node));

這時(shí)候應(yīng)該將頭結(jié)點(diǎn)head的next域指向該新的結(jié)點(diǎn)。但是head一般不移動(dòng),因?yàn)橐苿?dòng)后就找不到頭結(jié)點(diǎn)了。所以定義一個(gè)指針p,p在開始時(shí)指向頭結(jié)點(diǎn),就是

1p=pHead;

建立完新的結(jié)點(diǎn)后,p的next域指向該新結(jié)點(diǎn)。由于下一次還要建立新節(jié)點(diǎn),所以p要再指向現(xiàn)在已經(jīng)建立好的新結(jié)點(diǎn)。這樣下一次建立新的結(jié)點(diǎn)時(shí)才能正確指向該節(jié)點(diǎn)。不知道表達(dá)的好不好,把源程序復(fù)制在下面吧,應(yīng)該看一下程序就懂了。

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162#include<stdio.h>#include<stdlib.h> struct Node{    int a;    struct Node *next;}; struct Node *create_list();void display_list(struct Node *p); int main(){    struct Node *pHead;     pHead=create_list();    display_list(pHead);    return 0;} struct Node *create_list(){    struct Node *pHead=(struct Node *)malloc(sizeof(struct Node));    struct Node *pNext;    struct Node *p;         int i;    int len;    int value;     p=pHead;    p->next=NULL;     printf("請(qǐng)輸入鏈表的節(jié)點(diǎn)個(gè)數(shù):\n");    scanf("%d",&len);     for(i=0;i<len;i++)    {        pNext=(struct Node *)malloc(sizeof(struct Node));         printf("請(qǐng)輸入第%d個(gè)節(jié)點(diǎn)的數(shù)據(jù):\n",i+1);        scanf("%d",&value);        pNext->a=value;        pNext->next=NULL;         p->next=pNext;        p=pNext;    }    return pHead;} void display_list(struct Node *p){    int i=1;    p=p->next;    for(p;p!=NULL;p=p->next)    {        printf("第%d個(gè)節(jié)點(diǎn)的數(shù)據(jù)為:%d\n",i,p->a);        i++;    }}

程序沒有錯(cuò)誤的,可以運(yùn)行,可以看一下create_list()函數(shù),是建立鏈表,包含你想知道的問題,建立鏈表是一個(gè)循環(huán)結(jié)構(gòu)。把運(yùn)行結(jié)果也復(fù)制一下



查看完整回答
反對(duì) 回復(fù) 2019-05-26
  • 3 回答
  • 0 關(guān)注
  • 4712 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)