c 動態陣列學習筆記

2021-10-19 19:48:04 字數 818 閱讀 4750

1.動態陣列

之所以出現動態陣列,是由於靜態陣列的大小是固定的。當我們一開始並不知道需要多大的陣列時,靜態陣列就無法使用了。

2.操作

動態陣列是使用指標來承載malloc()或new操作符動態分配的記憶體空間,然後在需要的更新陣列大小的時候釋放空間使用free()或delete。

3.使用malloc()和free()動態分配記憶體【c風格的動態陣列**】**

c風格的動態陣列在上學期已經學過,不在重複了。

4.使用new和delete動態分配記憶體

#include

using

namespace std;

intmain()

cout << endl;

delete

arr;

arr =

null

;//建議釋放記憶體後將指標賦值為null;

}

注意事項:

int

* numptr =

newint

;不可以這樣寫,分配了記憶體卻沒有初始化,會導致該記憶體還保留著上一次分配儲存的值。

delete

arr;當動態分配是陣列時,則需要在delete和指標之間加乙個【】,表示釋放的是整個陣列,而不是乙個元素。這是delete與free的重要區別。

ps:本文簡單地將動態分配記憶體的主要內容寫了下來,還會繼續更新內容,現在學的還比較淺。

C語言學習筆記 動態陣列

陣列是c語言中的很重要的一種構造型別,最初我們學習的都是靜態陣列,但是,靜態陣列有著自己難以改變的缺點 陣列長度固定。一般在靜態陣列定義後,系統就會為其分配對應長度的連續的專有記憶體空間,可是,我們都知道,不同的執行樣例,所需要的陣列長度是不一樣的,為了所有樣例都可以執行,一般我們會將陣列長度設定為...

C 學習筆記11 動態陣列與多維陣列

1,new與delete 儲存動態建立的物件的記憶體區域稱為自由儲存區 free store 與堆 heap new表示式 int pia new int 10 未初始化 string psa new string 7 呼叫預設建構函式初始化 int pia new int 10 初始化為0 del...

c 複習筆記(動態陣列)

動態分配記憶體建立陣列 int ptr net point 2 int ptr net point 2 有無括號的差別是 有括號的裡面不能帶引數,但是陣列全部初始化為0。而用new建立的基本物件型別括號裡可以有初始化的數值。刪除 基本資料型別 delete 指標名 陣列 delete 指標名下面是v...