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等问题,其实都是要看在主函数中是如何调用这些函数的。