【数据结构】结点的不同定义形式、访问形式的含义

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的后继结点

你可能感兴趣的:(参考手册【置顶】,C/C++/C#,数据结构,数据结构,c语言,c++,结点,链表,指针)