void addNewNode (struct node *head, int n)
{
struct node* temp = (struct node*) malloc(sizeof(struct node));
temp -> data = n;
temp -> link = head;
head = temp;
}
上面給出的代碼是用於在鏈接列表的頭部添加新節點的功能的普遍錯誤版本。 一般正確的版本一樣,將新節點添加到鏈接列表的新方法
void addNewNode (struct node **head, int n);
void addNewNode (struct node * &head, int n);
我制定了另一個,但簡單的功能其目的工作得很好。
struct node* addNewNode (struct node *head, int n)
{
struct node* temp = (struct node*) malloc(sizeof(struct node));
temp -> data = n;
temp -> link = head;
return temp;
}
但我還沒有看到這個被使用或代碼和教程討論,因此我很想知道,如果這種方法有一定的缺陷。
有沒有這樣的事情,在C中的對象。 – 2008-11-03 01:35:27