1、动态内存管理函数介绍(malloc)
2、结构体创建
3、数据的头插,头删,尾插,尾删
4、单链表中数据的查找与增删
1、动态内存管理函数介绍(malloc)
使用malloc首先需要注意引入头文件 #include<stdlib.h>
在链表的内存开辟中只使用到了malloc,malloc是从堆区申请的空间
( 返回类型 )malloc( 字节个数 );
malloc申请的空间需要用相同类型的变量接收。
使用完空间以后要将空间释放,以免造成空间的浪费。
例如:
int* p=(int*)malloc(40); \\开辟了40个字节大小int类型的空间,返回类型为int*
free(p);
p=NULL;
这里p等于空是因为释放指针以后,该指针会变成野指针,赋值为NULL可以避免野指针的产生。
2、结构体创建
链表的优点是按需申请内存空间,不需要挪动数据。
在创建结构体时需要创建一个数据空间存放数据,一个指针空间存放下一个数据的地址
typedef struct Node {
int data;
struct Node* next;
}Node;
这时候我们不创建任何函数对这个结构体进行操作,了解该结构体的链表实现过程
int main() {
Node list;
Node* n1 = (Node*)malloc(sizeof(list));
Node* n2 = (Node*)malloc(sizeof(list));
Node* n3 = (Node*)malloc(size