7、链表接口、实现分析与帧管理应用

链表接口、实现分析与帧管理应用

1. 链表基础特性

链表在概念上可看作一系列连续元素,但实际上,由于元素是动态分配的(在C语言中使用 malloc ),它们通常分散在内存中。元素之间的指针是确保所有元素可访问的唯一方式。若不小心丢失一个链接,从该点起后续的所有元素都将无法访问,因此“链条的强度取决于最薄弱的环节”这一说法对链表尤为贴切。当需要访问前一个元素时,通常要从头开始遍历(不过有时可提前保存指针),若此弱点影响较大,可使用双向链表或循环链表。

2. 链表接口函数

2.1 初始化链表 - list_init

void list_init(List *list, void (*destroy)(void *data));
  • 返回值 :无
  • 描述 :初始化指定的链表。在使用其他操作之前,必须先调用此操作。 destroy 参数用于在调用 list_destroy 时释放动态分配的数据。若链表包含使用 malloc 动态分配的数据, destroy 应设为 free ;对于包含多个动态分配成员的结构化数据, destroy 应设为用户自定义函数;若链表数据无需释放, destroy 应设为 <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值