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...