Linklist L 、 Linklist &L 和 Linklist *L的区别
单链表的定义
typedef struct LNode{
ElemType data;
struct LNode *next;
}LNode,*LinkList; // LNode一般指节点时用,Linklist 一般指链表是用
当函数参数为Linklist L时,意味着只改变或操作指针所指链表的内容,而不需要改变L这个指针
LNode *GetElem(Linklist L,int i)
当参数为Linklist &L or Linklist *L,意味着需要改变或操作L这个指针本身,可以类比修改形参的内容时,需要加引用符或者变成指针类型才能在退出函数调用的时候让内容也修改
Status InitList(Linklist &L)
{
L=(Linklist)malloc(sizeof(struct LNode));
......
}
(*L)=(Linklist)malloc(sizeof(struct LNode)); //L前面要加*,表示L所指向的那个指针
p = (*L)->next
本文详细解析了单链表中LinklistL、Linklist&L和Linklist*L的区别,介绍了如何通过不同类型参数来实现对链表的不同操作,如仅修改链表内容而不改变指针本身的情况,以及需要修改指针本身的场景。

被折叠的 条评论
为什么被折叠?



