次のコードは、Cで単一リンクリストを作成することになっています。insert_nodeがポインターヘッドで何をするかを理解したいと思います。insert_nodeが呼び出されるたびに「head」は何を指しますか?
struct node{
    int data;
    struct node* next; 
};
typedef struct node node;
    node* head = NULL; 
void insert_node(int data) {
    node *new_node = (node*) malloc(sizeof(node)); 
    new_node->data = data;
    new_node->next = head;
    head = new_node;
}