用数组存数据时,需要事先定义数组的大小或尽量放大数组的大小,显然浪费内存且不易更改。而链表则无这种缺点。
链表是一种数据结构,可动态地进行存储分配结构。
链表有一个头指针变量(head),存放的地址指向一个元素。链表中每个元素称为结点,每个结点都应包含两部分:
a.用户实际需要用的值 b.下一个结点的地址
数组元素只有一个部分 定义起来直接int test[];
而链表有两部分,所以借助结构体定义一种新数据类型,a仍然为值部分,b为指针部分
(b指的是下一个链表中的元素 还是整个结构体的类型 所以指针b用 结构体+*去定义)
链表的一个结点并不和数组的元素一样仅代表一个数据,非空链表得至少一个数据+一个指向下一个数据的指针
联系客服