PS: 1、P、L的结点都是指针类型
2、头结点插入与输出的顺序相反
3、注意左值与右值的区别
p->next=q->next; //q->next是指到的下一个结点,非指针本身;p->next是指针本身(即p的指针域) (与左值右值有关)
4、后移用 p=p->next; 不用 p++; 因为地址不连续
p->next; 表示指针变量指向指针域(结构体里的叫指针域,结构体外指向结点的叫结点指针、指针变量)
5、结构体可类比 typedef int Status;
typedef struct LNode
{
Elemtype data;
struct LNode *next; //next是指针,不要忘了* ,指针域指向的是下个结点的整体,所有结点类型都是struct LNode,所以是结点类型的指针
}LNode,*LinkList; //LinkList 等价于 struct LNode * (结构体指针) ,LNode 等价于 struct LNode (结构体本身)
执行清空操作后【 CleanList(LinkList &L) 】的情况如下图,但不知道为什么注释 free(p); 这行就可以执行清除操作了,但空间好像没放出来吧。。。