動態分配記憶體

2022-07-15 05:51:09 字數 637 閱讀 4698

整理自《c++ primer plus》

long *fellow;	// create a pointer to long

*fellpw = 23333; // place a value in never-never land

警告:一定要在對指標應用解除引用運算子(*)之前,將指標初始化為乙個確定的、適當的位址。

int *ps = new int;	// ok

delete ps; // ok

delete ps; // not ok now

int jugs = 5; // ok

int *pi = &jugs; // ok

delete pi; // not allowed, memory not allocated by new

警告: 只能用delete來釋放使用new分配的記憶體。然而,對空指標使用delete是安全的。

使用靜態聯編時,必須在編寫程式時指定陣列的長度;使用動態聯編時,程式在執行時確定陣列的長度。

不能使用sizeof運算子來確定動態分配的陣列包含的位元組數。

指標和陣列名的區別。不能修改陣列名的值。但指標是變數,因此可以修該它的值。

記憶體動態分配

陣列的元素儲存於記憶體中連續的位置上。當乙個陣列被宣告時,它所需要的內存在編譯時就被分配。但是,你也可以使用動態記憶體分配在執行時為它分配記憶體。malloc所分配的是一塊連續的記憶體。例如,如果請求它分配100個位元組的記憶體,那麼它實際分配的記憶體就是100個連續的位元組,並不會分開位於兩塊或多...

動態分配記憶體

動態記憶體分配即分配記憶體大小在執行時才確定,一般在堆中分配。c語言動態記憶體分配相關的函式。include void malloc size t size malloc的使用比較直接,乙個成功的malloc呼叫返回分配的size大小的記憶體的指標。失敗時返回null並將錯誤 置為enomem。教材...

動態分配記憶體

動態分配記憶體 動態分配記憶體也可以分配儲存區,這種方式可以在程式執行的時候臨時決定分配的儲存區大小 為了管理動態分配的記憶體,就需要使用一組標準函式 為了使用這些標準函式,需要包含stdlib.h標頭檔案 malloc 函式可以動態分配一組連續的位元組 這個函式需要乙個整數型別引數表示分配的位元組...