1 struct node
2 {
3 int data;
4 struct node *next;
5 }*head;
6
7 void append(int num)
8 {
9 struct node *temp,*right;
10 temp= (struct node *)malloc(sizeof(struct node));
11 temp->data=num;
12 right=(struct node *)head;
13 while(right->next != NULL)
14 right=right->next;
15 right->next =temp;
16 right=temp;
17 right->next=NULL;
18 }
我需要幫助理解此代碼的某些部分。鏈接列表理解語法
1)代碼應該做什麼?
2)第5行是什麼?
}*head;
林看慣了這個,當我讓我的結構:
struct node
{
int data;
struct node *next;
};
3)什麼是應該做的第12行?不知道這個語法
right=(struct node *)head;
我的猜測是,它需要什麼樣的頭指向並指出它的權利。那麼,爲什麼不只是這樣做:right = head;
謝謝!
Fyi,*代碼中的這兩個*都不需要。我常常被人們在代碼中輸入不必要的東西的傾向所迷惑。編寫有效的代碼已經足夠了;用不必要的垃圾亂丟垃圾並不會讓它變得更好。 – WhozCraig
阿門,對此:D – Hyune
而且我要做到這一點,它會喜歡[**這樣的**](http://pastebin.com/FL6wrF9Z)。對於不同的人,我想是不同的筆畫。 – WhozCraig