关于链表的函数参数
1.在链表中有时参数指针是:*&L
ListInsert(LinkNode *&L,int i,ElemType e)
InitList(LinkNode *&L)
2.有时是:指针是*L
DispList(LinkNode *L)
那什么时候用 &L,或者这个L?
指针是对:地址存储单元的数据域进行修改
加了:*号对main()的数据可以修改。
&是引用:相当于
LinkNode *&L相当于:L=&LinkNode;//就是加了&的才能修改结构体的成员,增加数据,使指针为0;
(LinkNode *L):就是直接使用L的数据(不能修改)
能修改数据增加数据:结构体指针
只能:1.指针指向结构体变量 &
2.指针动态存储空间:修改值
void InitList(LinkNode *&L)
{
L=(LinkNode *)malloc(sizeof(LinkNode));
printf("%p\n",L);
L->next=NULL; //初始时指针值为null
}
记住:初始化和增加元素,删除都需要&.
除了调用:不需要&,
调用就是只对这个函数有关,不影响主函数