如果這是一個一個結構體。
typedef struct list
{
struct list *prior ;
struct list *next;
int num;
} list,*dlist;
問題1:比如我寫一個創建函數,我通常是void create_list(dlist L,int n);
但是我看有的地方括號裡面的第一個形參不是星號,而是&,麻煩跟我講一下。是不是傳遞的不是指針,是一個對象名的引用?是不是對順序鏈表這麼做好一點?
問題2:上次還有人跟我說第一個形參要用二次指針,否則必須return L;才能改動L;但是我沒有這麼做也是對的,麻煩幫我解釋一下
問題3:關於頭節點,那個num是不是不用賦值,或者賦值為0或者其他?為什麼啊?
問題4:同樣是創建函數,我看有的地方寫的是void create_list(L,n)
dlist L;int n;{
}我查了下說以前的標准支持這麼寫,我們老師給我們的代碼中也有這麼寫的。昨天一個研究生讓我重看一遍C語言。太打擊人了。雖然我不這麼定義。
你既然知道引用就知道C++,既然會C++,就不要用C來寫數據結構,用C很蹩腳,C++中用類來實現非常方便,先看你到底要用什麼語言,說了我再給你慢點解釋。