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