無法在編譯時分配空間,只能在程式執行時分配空間。
new:用於分配空間,它的返回值是乙個指標,指向所分配的空間
delete:用於釋放空間
對整數進行動態空間分配:
//1.宣告乙個整形指標
int*y;
//2.為這個整數動態分配儲存空間
//操作符new分配了一塊能夠儲存乙個整數的空間,並將該空間的指標賦給y;y是對整數指標
//的引用,*y是對整數本身的引用。
y =new
int;
//3.在動態分配的儲存空間中存乙個整數
*y =10;
//其它形式
//one
int*y =
newint(10
);//two
int*y =
newint
;*y =10;
//three
int*y;
y =new
int(10)
;
對一維陣列進行動態空間分配:
int
*x =
newint
[n];
釋放空間
delete y;
delete
x;
/*
為二維陣列動態分配儲存空間
*/#include
using
namespace std;
#include
//空間分配
template
<
class
t>
bool
make2darray
(t**
&x,int rows,
int cols)
}//空間釋放
template
<
class
t>
void
delete2darray
(t**
&x,int row)
delete
x;x =
null;}
//測試
intmain()
}for
(int i=
0; i<
2; i++
) cout <}delete2darray
(str,2)
;return0;
}
動態儲存空間分配
include include include c 操作符new用來進行動態記憶體分配 他的值為乙個指標指向所分配的空間 c 操作符delete 用來釋放由操作符new所分配的空間 int y new int,y 10 或者int y new int 10 或者 int y y new int 10...
儲存空間動態分配
ansi c說明了三個用於儲存空間動態分配的函式 1 malloc 分配指定位元組數的儲存區。此儲存區中的初始值不確定 2 calloc 為指定長度的物件,分配能容納其指定個數的儲存空間。該空間中的每一位 bit 都初始化為0 3 realloc 更改以前分配區的長度 增加或減少 當增加長度時,可能...
C 之儲存空間的動態分配和釋放
很多時候,我們需要根據問題的實際規模來定義陣列的大小,即確定實際需要使用的儲存空間的大小,這個時候就要用到動態申請 釋放儲存空間的方法。一般情況下,變數儲存空間的分配和釋放是由系統自動完成的,不需要我們的干預。系統對自動分配記憶體的變數的訪問方式有兩種 在程式執行中動態申請 釋放記憶體的變數,只能通...