1、单链表与结点:
/* 单链表可由头指针唯一确定,可用结构指针来描述单链表的存储结构 */
typedef struct LNode {
char data; // 数据域data
struct LNode *next; // 指针域next(指向结点LNode的指针)
} LNode, *LinkList; // 构造结点
/* 为了便于区分,分别定义头指针和结点指针 */
LinkList L; // L表示头指针
LNode *p; // p表示结点指针,*p表示结点
2、结点的含义(示例):
/* 等价的定义形式(变量含义不同) */
LinkList p; // p为指示结点的指针变量(=结点地址)
LNode *p; // *p为结点变量(=结点名称)
/* 通过指针变量访问结点分量 */
p->data; // 指针p指示的结点*p的数据域
p->next; // 指针p指示的结点*p的指针域(=后继结点的地址)
/* 通过结点变量访问结点分量 */
(*p).data; // 结点*p的数据域
(*p).next; // 结点*p的指针域(=后继结点的地址)
*((*p).next); // 结点*p的后继结点