1 存储方法
在链表中,逻辑次序和物理次序不一定相同,存储每个结点时,分为数据域(data)和指针域(link)
2 链表的节点结构
┌──┬──┐
│data│next│
└──┴──┘
data:放置数据
next:放置指针指向后继地址
3单链表图示
4单链表数据类型描述
typedef char DataType;//假设数据类型为字符型
typedef struct node
{
DataType data; //定义数据域
struct node *next;//定义指针域
}ListNode;
typedef ListNode *LinkList;
ListNode *p;
LinkList head;
①生成结点变量的标准函数
p=( ListNode *)malloc(sizeof(ListNode));
//函数malloc分配一个类型为ListNode的结点变量的空间,并将其首地址放入指针变量p中
②释放结点变量空间的标准函数
free(p);//释放p所指的结点变量空间
③结点分量的访问
利用结点变量的名字*p访问结点分量
方法一:(*p).data和(*p).next
方法二:p-﹥data和p-﹥next
④指针变量p和结点变量*p的关系
指针变量p的值——结点地址
结点变量*p的值——结点内容
(*p).data的值——p指针所指结点的data域的值
(*p).next的值——*p后继结点的地址
*((*p).next)——*p后继结点