struct Node** head_ref

C
void insert(node** head, int value) {     node* new_node = new node     node *last = *head;     new_node->data  = value;       new_node->next = NULL;     if (*head == NULL)     {        *head = new_node;        return;     }       while (last->next != NULL)         last = last->next;       last->next = new_node;     return; } 
Source

Also in C: