2014-10-17 17 views
0

我有一個程序,它有一個名爲head的節點。我想將頭部設置爲NULL,但是我想在虛空內做到這一點。所以我通過頭節點的方法:如何使用void來修改鏈表節點?

void removeNode(node* head) { 
head = NULL; 
} 

但是,這並不改變頭在主要功能,只在無效。有誰知道如何改變作爲參數傳遞給void的節點的值?

P.S:作爲一項要求,我不能使用自由函數或任何內存未分配方法。

+1

'void removeNode(node ** head){* head = NULL; }' – Coconop 2014-10-17 09:56:13

回答

1

你會想這樣做,而不是:

void removeNode(node** head) { 
    (*head) = NULL; 
} 

這改變了實際指針NULL,使其不再指向任何東西。

+0

如何循環訪問列表並將最後一個節點設置爲NULL? – 2014-10-17 10:11:30

+0

@LeeWhite和作爲一個附加信息,而不是從你的調用函數傳遞頭,傳遞頭的地址。 – Kraken 2014-10-17 10:15:45