C 中的動態記憶體之new運算子小記

2021-10-06 09:09:17 字數 946 閱讀 8749

無法提前預知需要多少記憶體來儲存某個定義變數中的特定資訊,所需記憶體的大小需要在執行時才能確定。可以使用特殊的運算子為給定型別的變數在執行時分配堆內的記憶體,這會返回所分配的空間位址。這種運算子即new運算子。如果您不再需要動態分配的記憶體空間,可以使用delete運算子,刪除之前由 new 運算子分配的記憶體。

#定義乙個指向 double 型別的指標,然後請求記憶體,該內存在執行時被分配。可以按照下面的語句使用 new 運算子來完成這點:

double* pvalue = null; // 初始化為 null 的指標

pvalue = new double; // 為變數請求記憶體

#某個已經動態分配記憶體的變數不再需要使用時,您可以使用 delete 操作符釋放它所占用的記憶體,如下所示:

delete pvalue; // 釋放 pvalue 所指向的記憶體

為乙個字元陣列(乙個有 20 個字元的字串)分配記憶體,如下所示:

char* pvalue  = null;   // 初始化為 null 的指標

pvalue = new char[20]; // 為變數請求記憶體

delete pvalue; // 刪除 pvalue 所指向的陣列

二維陣列例項測試:

例項#include using namespace std;

int main()

for(i=0; i<4; i++)

}

//列印資料

for(i=0; i<4; i++){

for(j=0; j<8; j++)

{

if(j==0) cout

詳解C 中new運算子和delete運算子的使用

c 支援使用 new 和 delete 運算子動態分配和釋放物件。這些運算子為來自稱為 自由儲存 的池中的物件分配記憶體。new 運算子呼叫特殊函式 operator new,delete 運算子呼叫特殊函式 operator delete。在 visual c net 2002 中,標準 c 庫中...

C 的new運算子和delete運算子

c的指標如果想被分配記憶體,需要malloc函式,舉例 struct link head struct link malloc sizeof struct link 首先分配乙個struct link空間的大小,然後強轉成struct link的指標型別 這個就是鍊錶的頭節點建立。在c 中這個庫函式...

程式的記憶體模型 new運算子

知識點1 c 中利用new操作符在堆區開闢資料 知識點2 堆區開闢的資料,由程式設計師手動開闢,手動釋放,釋放利用delete 知識點3 語法 new 資料型別 如下圖所示 所示,利用new建立的資料,會返回該資料對應的型別的指標 int func intmain 用法示例 int pi newin...