网站首页 趣味生活 舌尖美味 我爱学习 热爱生活 数码 经验
当前位置:趣味百科网 > 经验 > 

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

栏目: 经验 / 发布于: / 人气:2.72W

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

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

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

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