C语言链表概念

Python014

C语言链表概念,第1张

简单说来,就是通过指针指向,把两个结构体连接起来。比如定义下面这个结构体

struct node

{

int data

struct node *next

}

可以看到结构体里面定义了一个自身类型的指针,通过让指针指向另外一个结构体,我们就能通过结构体里面的next变量访问下个结构体里面的内容,而通过下一个结构体,同样可以通过下一个结构体的next指向,找到下一个这种类型的结构体,这样就形成了所谓的链表

链表是相同类型的若干个结构体用其自身携带的指针按照一定顺序串联成的一个链。

举个简单例子进行类比:

struct node{

int a

struct node *next

}

把这个链表节点的结构体struct node看作是人,结构体内的next指针看作是人的一只手,这只手只能用于指向人(别人或自己)。

如果有多个人排成一排,每个人都举起右手指向右边的人,就形成一个人组成的链表。