保存可变数量的数据

保存可变数量的数据 - 图1

在C语言中,你可以保存不同类型的数据,也能在数组中保存多条数据,但有时需要更灵活一点。

想象你正在经营一家旅行公司,专门策划跨岛的飞行之旅。行程包含一系列的短程航班,从一座岛到另一座岛。你需要记录每一座岛的信息,例如岛名和机场的营业时间,你准备怎么记录?

可以创建结构来表示一座岛:

  1. typedef struct {
  2. char *name;
  3. char *opens;
  4. char *closes;
  5. } island;

飞行之旅途经一连串的岛屿,也就是说需要记录一列岛,因此可以创建island数组。

保存可变数量的数据 - 图2

问题是数组长度是固定的,很不灵活。如果知道行程的准确长度,就可以使用数组,但如果需要改变行程呢?假如想在半途多加一个目的地呢?

为了保存可变数量的数据,需要一样比数组更灵活的东西,即链表。