C語言連結串列輸出亂碼 匿名使用者 1級 2019-02-13 回答

q=(struct student*)malloc(sizeof(struct student));

malloc並不會給記憶體賦初值,用memset(q,0,sizeof(struct student));將初值賦為0;

如下,在q=(struct student*)malloc(sizeof(struct student));後面加上memset(q,0,sizeof(struct student));這一句。

C語言連結串列輸出亂碼 匿名使用者 1級 2019-02-13 回答

鍋鍋,你輸出的肯定是head節點裡的內容吧,但是你的程式碼是把從檔案裡讀出來的東西存入後續節點裡的呀,你的head節點裡是空的,所以我覺得你的menu函式有問題,首先定位到head->next,然後再輸出試試吧。

C語言連結串列輸出亂碼 思索者 1級 2019-02-13 回答

c語言裡面的連結串列是一種資料結構 是一種線形的儲存結構 連結串列和陣列一樣,也是將一組同類型的資料組織在一起的一種資料結構 不同的是 陣列採用的是順序儲存,依靠陣列的首地址和元素的相對地址(下標)來實現訪問。 優點是訪問方便快捷,而缺點是陣列是靜態的,不利於實現元素的動態增減。 而連結串列採用的是離散儲存,依靠節點間的指向下一個節點的指標來實現訪問。 其優缺點和陣列相反 連結串列裡可以有不同種類型資料