6 数据结构与动态存储

牵线搭桥

一个结构根本不够。

为了模拟复杂的数据需求,通常需要把结构链接在一起。在本章中,你将学习如何用结构指针把自定义数据类型连接成复杂的大型数据结构,将通过创建链表来探索其中的基本原理;同时还将通过在堆上动态地分配空间来学习如何让数据结构处理可变数量的数据,并在完成工作后释放空间;如果你嫌清理工作太麻烦,可以学习一下怎么用valgrind

保存可变数量的数据

链表就是一连串的数据

在链表中插入数据

创建递归结构

用C语言创建岛屿……

在链表中插入值

用堆进行动态存储

有用有还

malloc()申请存储器……

strdup()修复代码

用完后释放存储器

SPIES系统综述

软件取证:使用valgrind

反复使用valgrind,收集更多证据

推敲证据

最终审判

C语言工具箱

6 数据结构与动态存储 - 图1