天气预报 > 其他 >在C语言中数组和链表有什么区别

在C语言中数组和链表有什么区别

更新时间: 2020-07-05 00:00:00

两种都属于数据结构的一种,它们的区别如下所示:

1、逻辑结构:数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减元素个数,当数据增加时,可能会超出原先定义的元素个数;当数据减少时,会造成内存浪费。链表动态地进行存储分配,可以适应数据增减,且可以方便插入、删除数据。

2、内存分配:C语言有内存四区,分别为堆区,栈区,代码区,静态区。定义数组时计算机会自动在栈区中申请内存,比较方便,但自由度小。链表从堆中申请内存且必须手动申请,并且手动释放内存,对于程序员来说比较操作

标签:语言什么区别