1首先就是链表是一个由多个节点组成的线性结构。

所以在节点这个地方就要存下两个信息,那么这个时候就要想到用结构体了。(结构体的定义)

// 首先定义链表节点的结构体
typedef struct ListNode{
    int data;           // 存储数据
    struct ListNode* next;  // 指向下一个节点的指针,而且不能直接用ListNode,因为计算机的计算和读代码是由上到下的,也就是说还没有读到ListNode。
}ListNode; 

当然结构体弄完了就是定义节点了(节点的定义)

ListNode* firstNode = (ListNode*)malloc(sizeof(ListNode));

此处的malloc要有特定的前缀才能用(#include<stdlib.h>)这个前缀。

还有对节点数据的设置

//如
firstNode->data=10;
firstNode->next=second;    //此处的second就当作下一个节点
## 如果只有一个节点可以这样
```c
firstNode->data=10;
firstNode->next=NULL; 

注意在函数结束前就要用free来释放内存!!!

2创建新节点函数(上面第1点是手动定义一个节点,但遇到要多个节点就不行了)

ListNode* creatNodeint a//传入一个整形的变量{
ListNode* firstNode = (ListNode*)malloc(sizeof(ListNode));
if(firstNode==NULL){
printf("内存分配失败");
return NULL;
}
firstNode->data=a;
firstNode->next=NULL;
return firstNode;
}