p=p->next表示修改指針p的位置,把p指向原來的下一個節(jié)點。->叫做結(jié)構(gòu)體指針運(yùn)算符,用來訪問結(jié)構(gòu)體內(nèi)部成員。=號表示把右邊的值賦給左邊。
p=p->next含義是什么
p=p->next是表示修改指針p的位置,把p指向原來的下一個節(jié)點。
1、->是一個整體,它是用于指向結(jié)構(gòu)體、C++中的class等含有子數(shù)據(jù)的指針用來取子數(shù)據(jù)。換種說法,如果我們在C語言中定義了一個結(jié)構(gòu)體,然后申明一個指針指向這個結(jié)構(gòu)體,那么我們要用指針取出結(jié)構(gòu)體中的數(shù)據(jù),就要用到“->”。
(資料圖片僅供參考)
2、鏈表指針是C語言的一個難點,但也是重 點,學(xué)懂了非常有用。要仔細(xì)講就必須先講變 量、指針。
3、所謂變量,不要淺顯的認(rèn)為會變得量就是變量。套用我們院長的問話:“教室變不變?”變,因為每天有不同的人在里面上課,但又不變,因為教室始終在那,沒有變大或變小。
p->next=p;和p=p->next;的區(qū)別
p->next=p表示節(jié)點p的下一個節(jié)點還是p,如果鏈表只有p節(jié)點,那么這樣就變成了一個循環(huán)鏈表。
p=p->next表示修改指針p的位置,把p指向原來的下一個節(jié)點。
例如:q->next=p;p->next=null;q=p;
這個里面的q指向的永遠(yuǎn)是是要在當(dāng)前節(jié)點添加下一個節(jié)點的那個節(jié)點
值得一提的是, p->next=p和p=p->next并不是一個意思,p->next=p表示節(jié)點p的下一個節(jié)點還是p,如果鏈表只有p節(jié)點,那么這樣就變成了一個循環(huán)鏈表。
寫鏈表時會使用到當(dāng)p=p->next,用來尋找下一個節(jié)點p=p->next時,p原來的地址不會被覆蓋。