在链接列表的末尾添加元素

我想使用链接列表来排队,但我做不到! 我可以知道问题出在哪里吗?因为它只允许我插入两个值!

typedef struct list
{
    int data;
    struct list* next;
}list;
void move_forward(list* head,list* node)
{
    if(head==NULL)  exit(1);
    while(head->next!=NULL)
       head=head->next;
    head->next=node;
}
list* insert(list* head,int value)
{
    list* node=(list*)malloc(sizeof(list));
    node->data=value;
    node->next=NULL ;
    if(head==NULL)
        head=node;
    move_forward(head,node);
    return head;
}