如果您具备以下的知识,您可以更好的理解这篇文章:
1.C语言基本的结构体语法
2.C语言内存分配语句malloc
3.单链表的概念
4.C语言指针的基本使用方法
ps:如果你对C语言语句有疑惑,可以暂停阅读查阅相关语句的使用方法,或者在评论区留言,我会尽快回复φ(゜▽゜*)♪
1.创建一个节点单元
typedef struct node_s{
//节点单元里有两个属性,一个属性存储着数据,另一个属性是存储下一个节点的地址
int data;
struct node_s *next; //定义一个内存单元,存储着下一个节点的地址,还记得吗?单链表是一环扣一环的
}node;
非常好!把上面代码敲完以后,意味着你已经成功定义了一个节点单元,node就是节点的意思。但我们现在还没有使用它,相当于画了一个图纸。
它们的关系是这样的:
方框可以理解为一个内存单元,更通俗点讲,你造了一节火车车厢(结构体typedef struct node_s),里面你划分了两块地方,一块地方用来装数据(int data),一块地方拿来装下一节点的地址(*next)。“???”代表你可以往这节火车车厢里装更多的东西,比如你可以定义一个学生结构体,里面有name,sex,id,birthday等等,但在系列示例教程里,data与next足以完成单链表的构造和演示工作。
2.接下来就是创建单链表的节点单元了:
#include<stdio.h>
#include<stdlib.h>
typedef struct node_s{
int data;
struct node_s *next;
}node;
int main(){
node *the_node1; //创建一个指向node类型的指针the_node1
the_node1=(node*)malloc(sizeof(node));