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

【在C语言中数组和链表有什么区别】两种都属于数据结构的一种,它们的区别如下所示:
1、逻辑结构:数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减元素个数,当数据增加时,可能会超出原先定义的元素个数;当数据减少时,会造成内存浪费 。链表动态地进行存储分配,可以适应数据增减,且可以方便插入、删除数据 。
2、内存分配:C语言有内存四区,分别为堆区,栈区,代码区,静态区 。定义数组时计算机会自动在栈区中申请内存,比较方便,但自由度小 。链表从堆中申请内存且必须手动申请,并且手动释放内存,对于程序员来说比较操作