new和delete運算子

2021-06-20 21:35:42 字數 737 閱讀 9092

動態建立的好處就在於能夠隨時分配空間,避免了預算和物理記憶體。並且結構體裡的變數必須用結構體的指標訪問,該指標使用前需開闢空間,用完後delete。

new和delete運算子用於動態分配和撤銷記憶體的運算子

new用法:

1.     開闢單變數位址空間

1)new int;  //開闢乙個存放陣列的儲存空間,返回乙個指向該儲存空間的位址.int *a = new int 即為將乙個int型別的位址賦值給整型指標a. 

2)int *a = new int(5) 作用同上,但是同時將整數賦值為5

2.     開闢陣列空間

一維: int *a = new int[100];開闢乙個大小為100的整型陣列空間

二維: int **a = new int[5][6]

三維及其以上:依此類推.

一般用法: new 型別 [初值]

delete用法:

1. int *a = new int;

delete a;   //釋放單個int的空間

2.int *a = new int[5];

delete a; //釋放int陣列空間

要訪問new所開闢的結構體空間,無法直接通過變數名進行,只能通過賦值的指標進行訪問.

用new和delete可以動態開闢,撤銷位址空間.在程式設計序時,若用完乙個變數(一般是暫時儲存的陣列),下次需要再用,但卻又想省去重新初始化的功夫,可以在每次開始使用時開闢乙個空間,在用完後撤銷它.

new 和 delete 運算子

為了提高程式的通用性和記憶體的利用率,實際程式設計時,經常出現在程式執行過程中,根據程式對記憶體的實際需求來分配儲存空間的情況 如下列程式 int n cin n float a n 但是編譯器在編譯第三行時出錯,原因是定義陣列時下標表示式的值必須是 編譯時有明確的值的常量 不過c 允許用new運算...

C 的new運算子和delete運算子

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

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

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