當前位置:趣味科普網>經驗>

在C語言中陣列和連結串列有什麼區別

經驗 閱讀(2.63W)

在C語言中陣列和連結串列有什麼區別

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

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

2、記憶體分配:C語言有記憶體四區,分別為堆區,棧區,程式碼區,靜態區。定義陣列時計算機會自動在棧區中申請記憶體,比較方便,但自由度小。連結串列從堆中申請記憶體且必須手動申請,並且手動釋放記憶體,對於程式設計師來說比較操作