注册 登录
编程论坛 数据结构与算法

严蔚敏链表为什么要定义成*LinkList,而不是直接用LNode

zhangfei5056 发布于 2013-04-14 19:42, 725 次点击
十分搞不懂严蔚敏的链表的定义方法的意义何在。
程序代码:
typedef struct LNode

 {
   int data;
   struct LNode *next;

 }LNode,*Linklist;
然后构建功能函数的时候,非常让人晕的写成
Status InitList(LinkList *L)
后面主函数调用的时候是这样的
LinkList L;
InitList(&L);
她这样写我好晕,LinkList L,那L应该是双重指针了。这样有啥用意
为啥他不直接写成这样?
程序代码:
typedef struct LNode

 {
   int data;
   struct LNode *next;

 }LNode;
Status InitList(LNode *L)
然后后面调用写成
LNode L;
InitList(&L);
我这样写又好理解,有可以成功实现。但是我知道她那样写是肯定有意图的,希望各位能给我解惑。
1 回复
#2
yuccn2013-04-15 00:27
它只是先传递指针的指针而已。


LNode L;
 InitList(&L);
你这样只是传递的是指针。由于InitList 是想由指针的带回一个Linklist (也就是 LNode *)链表吧。
1