指向结构体的指针作为函数形参
											下面程序中CreateList_L函数前两个是对的,第三个是错的,谁能解释一下这3个有啥区别,第三个为什么错了?
程序代码:#include<stdio.h>
#include<stdlib.h>
typedef struct LNode{
     int data;
     struct LNode *next;
}LNode,*LinkList;
void CreateList_L(LinkList &L,int n){
     //逆序输入n个元素的值,建立带头结点的单链线性表L
     int i;
     LNode *p;
     L=(LinkList )malloc(sizeof(LNode));
     L->next=NULL;
     for(i=n;i>0;i--){
         p=(LinkList )malloc(sizeof(LNode));
         printf("请输入");
         scanf("%d",&p->data);
         p->next=L->next;
         L->next=p;
     }
}
void CreateList_L(LinkList *L,int n){
      //逆序输入n个元素的值,建立带头结点的单链线性表L
      int i;
      LNode *p;
      (*L)=(LinkList )malloc(sizeof(LNode));
      (*L)->next=NULL;
      for(i=n;i>0;i--){
          p=(LinkList )malloc(sizeof(LNode));
          printf("请输入");
          scanf("%d",&p->data);
          p->next=(*L)->next;
          (*L)->next=p;
      }
}
void CreateList_L(LNode *L,int n){
    //逆序输入n个元素的值,建立带头结点的单链线性表L
    int i;
    LNode *p;
    L=(LinkList )malloc(sizeof(LNode));
    L->next=NULL;
    for(i=n;i>0;i--){
        p=(LinkList )malloc(sizeof(LNode));
        printf("请输入");
        scanf("%d",&p->data);
        p->next=L->next;
        L->next=p;
    }
}
void main(){
     LinkList  L=NULL,p=NULL;
     int n;
     printf("输入元素数目:");
     scanf("%d",&n);
     printf("\n逆序创建链式表Lb\n");
     CreateList_L( L, n);
     p=L;
     printf ( "\n链式表Lb内容为:\n" );
     while(p->next!=NULL)
     {  
         p=p->next;
         printf("%d ",p->data);
     }
}										
					
	


											
	    

	
