您的位置:首页 > 娱乐 > 明星 > 链表——内核链表

链表——内核链表

2024/10/5 22:52:39 来源:https://blog.csdn.net/2301_80315592/article/details/141949891  浏览:    关键词:链表——内核链表

一、内核链表

1、定义

是一个有头双向循环链表。相比与之前的单向链表与双向链表,它不再将存储的数据放在节点中;而将节点放在要存储的数据中,作为数据成员存在

2、系统中宏

在系统中有两个宏可以处理内核链表。

①offsetof:获取结构体成员到首地址的偏移量;

②contianer-of:通过偏移量获取结构体首地址。

而我们要研究时不应用这两个宏,因此要得到结构体首地址,就得将节点放在结构体开头作为第一个成员存在。<结构体第一个成员首地址即为结构体的首地址>

3、函数指针与指针函数

(1)函数指针:指向指针函数的函数指针。

(函数写法:函数 返回值 函数名(形参表))

函数指针写法:返回值(*函数指针名)(形参表)

eg:

作为参数传递的函数指针为回调函数

调用函数指针形式:函数指针(实参)

eg:

(2)指针函数:返回值为指针性的函数。

返回值要求:①不能指向一个局部变量空间;

        ②可以为:malloc(堆)、全局变量、静态变量;

        ③返回值需要判空,避免出现断错。

4、内核链表实现创建、增删改查(简写非循环)

(1)结构体、函数接口声明

(2)链表结构体中包含节点、以及其他数据

(3)不同链表结构体整体创建、遍历方式回调函数、查找方式回调函数

(4)具体操作接口

(5)主函数中调用

二、3种链表区别

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com