双向链表有关问题

双向链表问题headNULL//指针滞空!for()//链表 死循环{u(SCORE*)malloc(sizeof(SCORE))//申请连续空

双向链表问题
  head=NULL;//指针滞空!for(;;)//链表 死循环
   {
     u=(SCORE*)malloc(sizeof(SCORE));//申请连续空间(动态变量)
 u->next=NULL;//链表的末尾为空
 if(head==NULL)//
 {
    head=v=u;//
u->pre=NULL;//
 }
 else 
 {
  u->pre=v;//
v=v->next=u;//
 }
大神们,这段代码红色部分,求解释,
[解决办法]
准备接分.....