1 typedef struct Node  
2 {  
3      int data;  
4      struct Node * next;  
5 }NODE, * Linklist;

以上这段代码几乎在任何数据结构教材中都会出现,纯正C风格的写法。

1.struct Node{};定义了一个stuct Node类型的结构体(C语言规定结构体类型为struct Node,而不是Node);

2.typdef struct Node NODE;有人觉得老写struct Node 有点烦,于是给struct Node 取了一个别名NODE;

3.typedef Node * Linklist;由于最终目的是要定义一个链表,即在主函数里要出现这样的定义:Linklist L;所以就在这里将 Node *取个别名为Linklist。

4.至于在各种链表操作函数虚参中出现的Linklist * L以及Linklist L以及Linklist &L等问题,其实都是要看在主函数中是如何调用这些函数的。