status GetElem_L(LinkList L,int i,ElemType &e)
{
p=L->next; /*第一个*/
j=i;
while(p&&j<i)
{
p=p->next;
++j;
}
if(!p||j>i)
return ERROR;
}//GetElem_L
Status ListInsert_L(LinkList &L,int i,ElemType e)
{
p=L; /*第二个*/
j=0;
while(p&&j<i-1)
{
p=p->next;
++j;
}
if(!p||j>i-1)
return ERROR;
s=(LinkList)malloc(sizeof(LNode));
s->data=e;
s->next=p->next;
p->next=s;
return OK;
}//ListInsert_L
第一个 p=L->next;与第二个p=L;有什么区别呢??
p=L->next将L的下一个元素的地址赋值给p,即p指向L的第二个元素的地址;p=L将LinkList的首地址赋值给p,即p指向L的第一个元素的地址。
你这代码还想问题不小啊,指针、引用都混了,变量p也未声明,怎么能通过编译呢,连类型都不能确定,怎么去说它的区别呢?