這個生成鍊錶的函式有什麼問題,這個生成鍊錶的函式有什麼問題

2022-07-07 07:46:54 字數 796 閱讀 4576

1樓:

p1=(struct student*)malloc(len);

p2=(struct student*)malloc(len); /*開闢乙個新單元*/

這裡改成下面的

p2=p1=(struct student*)malloc(len); //使p1p2同指向第乙個節點

這樣下面的那些構造鍊錶的時候的指標才能對應,才能順利構造鍊錶- -||

改了就沒問題了

2樓:匿名使用者

幫你改成以下的**

struct student *creat()/*返回乙個指向煉表頭的指標*/

p2->next=null;

return(head);}

3樓:

p1重複開空間是因為鍊錶每個節點都需要空間;

p2=(struct student*)malloc(len); /*開闢乙個新單元*/ : 這個沒必要,p2開的空間沒有用,最後會記憶體洩漏。

學生的作業吧?

4樓:匿名使用者

這段程式的目的在於生成乙個包含頭節點的鍊錶,第一次p1的記憶體塊作為偷接點,並不儲存資料。並不是說p1重複分配,在else裡面是由p2指向當前鍊錶的最後乙個節點,而p1只是接收分配記憶體返回的指標並將該記憶體塊接到鍊錶後面。

這裡最大的問題在於判斷什麼時候鍊錶結束,用分配節點的值來決定鍊錶的結束,這個想法本身就是太有創意而不能被人類所接受的。

語法錯誤是小事,關鍵要把邏輯理清楚,建議再仔細看下鍊錶的儲存結構。

這個程式有什麼問題

include int main sum sum a i x sum 10.0 除以10.0 f d printf 最大的數為 d,是這組數中第 d個 n max,b printf 最小的數為 d,是這組數中第 d個 n min,c printf 平均數為 f n x 你的funcl函式中的第乙個迴...

請問別克車轉速表上這個圖示是什麼問題

上圖為發動機的故障燈,一般是由於發動機的電控系統,感測器,線路出故障,版然後此故障燈亮。去4s用專權用的電腦診斷儀讀取一下故障 就大概知道是 的問題了,然後再根據故障 去檢查維修。一般點火開關接通時,控制指示燈啟亮,並在發動.別克汽車儀錶盤上有發動機圖示什麼原因 發動機抄產生故障。車輛在使用過程中儀...

這個筆記本玩LOL有沒有什麼問題?值不值這個價格,是否可以換大一點的顯示卡

應該是合理的,只是硬碟是機械的,建議是固態硬碟更好,讀寫速度更快,但機械硬碟也沒有什麼問題 1050顯示卡打lol完全無壓力,發揮不了20 的硬體實力。i7 7700hq gtx1050現在賣6300的話略高,可以選i5 8300h gtx1050ti的機型,cpu的話兩個差不多,gtx1050ti...