當前位置

首頁 > 經驗 > 在C語言中數組和鏈表有什麼區別

在C語言中數組和鏈表有什麼區別

推薦人: 來源: 咪咕科普網 閱讀: 2.69W 次

在C語言中數組和鏈表有什麼區別

兩種都屬於數據結構的一種,它們的區別如下所示:

1、邏輯結構:數組必須事先定義固定的長度(元素個數),不能適應數據動態地增減元素個數,當數據增加時,可能會超出原先定義的元素個數;當數據減少時,會造成內存浪費。鏈表動態地進行存儲分配,可以適應數據增減,且可以方便插入、刪除數據。

2、內存分配:C語言有內存四區,分別爲堆區,棧區,代碼區,靜態區。定義數組時計算機會自動在棧區中申請內存,比較方便,但自由度小。鏈表從堆中申請內存且必須手動申請,並且手動釋放內存,對於程序員來說比較操作