单链表结构体变量和结构体指针的问题

关于单链表结构体变量和结构体指针的问题,LinkList是指向Node的结构体指针,Node是结构体变量,LinkList&L以后L就是一个结构体指针了呀,为什么L还能等于new Node这样一个结构体变量呢,代码如下

typedef struct Node{
int data ;
struct Node *next;
}Node,*LinkList;

void CreatList(LinkList&L,int a[],int n){
L=new Node;
L->next=NULL;
LinkList temp;
for(int j=n-1;j>=0;j--)
{
temp=new Node;
temp->data=a[j];
temp->next=L->next;
L->next=temp;
}
}

那是引用,是指针,typedef 定义两个明称,Node和*LinkList