1、建立
new表示式返回指向陣列的第乙個元素的指標。例如:
//分配單個int型物件
//用1024初始化
int *pi = new int(1024) ;
//分配乙個含有1024個元素的陣列
//未被初始化
int *pia = new int[1024] ;
//分配乙個含有4x1024個元素的二維陣列
int (*pia2)[1024] = new int[4][1024] ; //二維陣列的第一維的值不可以省略不寫,陣列的第一維可以是常量,也可以是乙個在執行時、才計算出的值,但是第二位或者更高維必須是常量。
pi指向乙個int型的單個物件,初始值為1024.pia指向陣列的第乙個元素,該陣列有1024個元素。pia2指向乙個由4個1024個元素的陣列構成的陣列的第乙個元素---即pia2指向乙個由1024個元素的陣列。
一般的,在空閒儲存區上分配的陣列不能給出初始化值集。在空閒儲存區中建立的內建型別的陣列必須在for迴圈中被初始化,即陣列的元素乙個接乙個的初始化。例如:
for(int i=0;i
2、釋放
動態陣列的釋放也是使用delete表示式。例如
delete [ ] pia ;
方括號是必須的。
C多維陣列動態分配與釋放
寫 的時候會碰到多維陣列的記憶體分配和釋放問題,在分配和釋放過程中很容易出現錯誤。下面貼上一些示例 以供參考。如果要給二維陣列 m n 分配空間,可以寫成下面 char a,i 先分配m個指標單元,注意是指標單元 所以每個單元的大小是sizeof char a char malloc m sizeo...
記憶體動態分配與釋放
1 c語言的函式malloc和free 1 函式malloc和free在標頭檔案中的原型及引數 void malloc size t size 動態配置記憶體,大小有size決定,返回值成功時為任意型別指標,失敗時為null。void free void ptr 釋放動態申請的記憶體空間,呼叫fre...
記憶體動態分配與釋放
1 c語言的函式malloc和free 1 函式malloc和free在標頭檔案中的原型及引數 void malloc size t size 動態配置記憶體,大小有size決定,返回值成功時為任意型別指標,失敗時為null。void free void ptr 釋放動態申請的記憶體空間,呼叫fre...