該函數應該將節點插入鏈表,但它有一個錯誤,插入的節點不會顯示在鏈接列表中。錯誤在哪裏?爲什麼這個函數沒有成功地將一個節點插入到鏈表中?
int insert(struct Node *headList, int payload) {
struct Node *newNode;
newNode = malloc(sizeof(struct Node));
assert (newNode != NULL);
newNode->payload = payload;
newNode->next = headList;
headList = newNode;
return 0;
}
我敢肯定,Node *headList
是按值傳遞,因爲headList
沒有這個功能之外改變,但我不知道如何解決這個問題。我需要一個指向某個指針的指針嗎?
返回更新'headList'指向調用者的指針。 –
...或通過地址(指針指針)傳遞頭節點,並通過解除引用來更新它。 – WhozCraig