c 學習之動態儲存空間分配

2021-09-29 09:33:15 字數 1265 閱讀 3193

無法在編譯時分配空間,只能在程式執行時分配空間。

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 之儲存空間的動態分配和釋放

很多時候,我們需要根據問題的實際規模來定義陣列的大小,即確定實際需要使用的儲存空間的大小,這個時候就要用到動態申請 釋放儲存空間的方法。一般情況下,變數儲存空間的分配和釋放是由系統自動完成的,不需要我們的干預。系統對自動分配記憶體的變數的訪問方式有兩種 在程式執行中動態申請 釋放記憶體的變數,只能通...