鏈表有的請解釋插入節點在C
new_node->next = (*head_ref);
(*head_ref) = new_node;
這在下面的代碼
/* Utility function to insert a node at the beginning */
void push(struct node **head_ref, int new_data)
{
struct node *new_node = (struct node *) malloc(sizeof(struct node));
new_node->data = new_data;
new_node->next = (*head_ref);
(*head_ref) = new_node;
}
,頭指針是在每個「推」改性,因此它需要由地址被傳遞(並因此取消了它的值,並設置它的值)。一個常見的選擇是簡單地使用函數的返回值作爲新的頭指針。 ([並且不投射malloc](http://stackoverflow.com/questions/605845/do-i-cast-the-result-of-malloc/605858#605858))。 – WhozCraig
閱讀有關按值傳遞參數與按參考傳遞參數之間的區別。 –
可能的重複:http://stackoverflow.com/questions/19194224/adding-node-to-the-front-of-a-linked-list/19194319#19194319 – Sadique