-
mul*create(void)
建立鍊表。
return headptr;
此函式指示引數為空,但函式返回值型別為節點指標。 而。
void create(list)
建立鍊表。
list=head;
這個函式有很多錯誤! 它應更改為:
void create(nul*list) 引數是乙個節點指標,也可以定義為引用型別,常用於資料結構中。
建立鍊表。
list=(nul*)malloc(sizeof(nul));為節點指標分配記憶體空間。
list->nextptr=null;如果指標字段 Nextptr 為空,則建立鍊表。
該函式表示引數為節點指標型別,函式返回值為空,不需要返回值,因為指標可以雙向傳輸,表單引數的修改就是對實際引數的修改。 因此,將記憶體分配給此函式中的引數等同於將記憶體分配給引數。
-
void create(mul* )
void main()
mul * list;
create(list);
void create(list)
建立鍊表。
list=head;
首先,函式的宣告沒有“; “而且,列表是在 mian 函式中定義的,作用範圍是主要函式,void create(list) 語句中的列表是無法識別的! 函式的引數應該被輸入!
-
該功能沒用,它應該在其他地方。
例如,列表指標未初始化。
#include
typedef struct mul
int student;
struct mul * nextptr;
mul;void create(mul*);
void main()
mul * list;
list = null;新增這句話。
全域性變數會自動初始化,但區域性變數不會,需要自己初始化,仔細閱讀本書。
create(list);
free(list);
void create(mul* list) 建立鍊表。
mul* head = (mul*)malloc(sizeof(mul));
list=head;
C語言中也沒有子函式,只有函式。
-
至於C語言中的鍊表操作問題,測試的本質是理解和編寫C語言中“指標即位址”概念的程式(向鍊表新增元素,從鍊表中刪除現有元素,對鍊表元素進行遍歷和排序),而C語言中的指標是整個C語言中最本質的,但也是最難掌握的。
根據我編寫鍊表程式的經驗,千萬不要把程式看在紙上,必須自己設定斷點,在C編譯環境中執行偵錯程式步驟,才能真正理解“指標即位址”的概念。
我一開始用的書是《C語言百科全書》這本書,內容相當豐富。 它包括鍊表表示式的分析和計算、各種排序演算法和編譯原理。 這是一本非常好的書。
寫得還不錯,就是類介面太簡單了,給你加幾個介面,修改定義,做乙個完整的模板棧,如果你堅持只用兩個介面,然後自己改一下,我就幫不上忙了 >>>More