1. 首页 / 知识 /  正文

C语言中数组和链表的区别?

C语言中数组和链表的区别?

一些互联网上对C语言中数组和链表的区别?这个问题比较感兴趣,这里,网友大飞就给大家详细解答一下。

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

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

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

关于C语言中数组和链表的区别?大飞就先为大家讲解到这里了,关于这个问题想必你现在心中已有答案了吧,希望可以帮助到你。