上一节我们讨论到了线性表的顺序存储结构的缺点,那就是在进行插入和删除操作的时候需要移动大量的元素,为了解决这个问题,我们可以想到的方法有很多,比如说在相邻元素之间留出一定的位置给待插入的元素使用,但是这样非常浪费空间,而且插入删除操作的具体位置和元素的数量是未知的,这样并不是最好的解决方法。
这个时候就需要我们在C语言学习时接触到的“指针”上场了。
首先,什么是指针呢?指针就编程语言中的一个对象或变量,用来存储某一个地址,这个地址的值直接指向(points to)存在电脑存储器中另一块存储空间的值。作个比喻,假设将电脑存储器当成一本书,一张内容记录了某个页码加上行号的便利贴,可以被当成是一个指向特定页面的指针;根据便利粘贴面的页码与行号,翻到那个页面,把那个页面的那一行文字读出来,就相当于是对这个指针进行反参考的动作。(来自维基百科词条