链表的一些有关问题

链表的一些问题
//单链表存储结构
typedef struct Node{
  Eletype data;
  struct Node * next;
}Node,*LinkList;

之前都是用Node直接创建节点,没定义过*LinkList;
今儿翻开数据结构书(耿国华的)

看到这个初始化单链表,顿时凌乱了

InitList(LinkList *L)
{
    *L = (LinkList)malloc(sizeof(Node));
    (*L)->nect = NULL;
}

链表的一些有关问题

用LinkList定义*L是什么意思。。。我觉得应该是LinkList L;

请各位指教啊,谢啦

数据结构 链表

------解决方案--------------------
好问题,我当年也会有这个疑问。

你用LinkList L当然可以,语法没问题。但关键是要改变外部指针变量的值,把它改成malloc后的地址。所以要用LinkList *L,否则改变的只是局部变量L的值。

LinkList init = NULL;
InitList(init);  //试问,如果这样穿进去,无论如何也改变不了外面init的值,永远是NULL
InitList(&init); //这就可以了

或者用C++中的引用也可。