*next除了这个指针,list_t
中可以包含其它类型的数据,包括结构体变量。比如:typedef
struct
{
struct
usr_struct
data
list_t
*next
}
list_t
先搞清楚基本概念,不懂再问
// 返回一个带头结点的且具有五个结点的链表link *initLink()
{
link * p=(link*)malloc(sizeof(link)) // 创建头结点
link * temp=p // 使用变量temp在下面创建结点时指向链表末端
for(int i=1 i<5 i++)
{
link *a=(link*)malloc(sizeof(link)) // 创建一个结点
a->elem=i // 为结点赋值
a->next=NULL // 指针域暂时赋为NULL,若后面还要创建结点的话再修改
temp->next=a // 因为temp指向链表末端,即最后一个结点
// 故该节点指针域应指向刚才创建的结点 a
temp=temp->next// 连接好以后,temp指向下一个结点(刚才创建的结点a,现在是链表末端)
}
return p // 返回头结点
}