0

Why do we use double-pointer here? In the line void push(Node** head_ref, int new_data).

/* Given a reference (pointer to pointer) 
 to the head of a list and an int, 
 inserts a new node on the front of the list. */
 
void push(Node** head_ref, int new_data) 
{ 
/* 1. allocate node */
Node* new_node = new Node(); 

/* 2. put in the data */
new_node->data = new_data; 

/* 3. Make next of new node as head */
new_node->next = (*head_ref); 

/* 4. move the head to point to the new node */
(*head_ref) = new_node; 
} 
Evg
  • 23,109
  • 5
  • 38
  • 74
Sam S
  • 5
  • 2

0 Answers0