title: Double pointer on linked list in C
body: <p>In a simple linked list, why pass a double pointer when inserting a node? What is the difference with the second code?</p>
  
  <pre><code>void push(struct node **headRef, int data);
  void push(struct node *head, int data);
  </code></pre>