c++中可用new和delete關鍵字分配和釋放記憶體,但是如果遇到指標陣列(或指向指標的指標),分配和釋放必須慎重,不然容易造成記憶體洩漏。
下面用一段**給出如何使用指向指標的指標來分配和釋放記憶體:
int n;
cin>>n;
//分配記憶體
char** pstrarray = new char*[n];
for (int i=0;i>pstrarray [i];
}dooperator(pstrarray);//對字串陣列進行操作
//釋放記憶體
for (int i=0;i可以看出,分配記憶體時和一次指標沒啥區別,注意好型別裡多個指標符號就行,但是在釋放記憶體時,需要先釋放各個元素指向的記憶體,並在變數名前加「」,表示釋放的是指標陣列,最後釋放指標陣列名指向的記憶體。
C 中指標與陣列
使用陣列的時候編譯器一般會把它轉化成指標。使用陣列下標時,通常使用size t型別,是一種無符號型別 對陣列的元素使用取位址符就能得到指向該元素的指標。string nums string p nums 0 p 指向 nums 的第乙個元素 cout p endl 輸出 one在很多使用到陣列名字的...
C語言中指標陣列與陣列指標
1 指標陣列的實質是乙個陣列,這個陣列中儲存的內容全部是指標變數。2 陣列指標的實質是乙個指標,這個指標指向的是乙個陣列。1 int p 5 int p 5 int p 5 2 一般規律 int p p是乙個指標 int p 5 p是乙個陣列 3 如果核心和 結合,表示核心是指標 如果核心和 結合,...
c 中指標與動態記憶體的分配
所有的 都是通過dev c 4.9.9.2來編寫的 c 程式中記憶體的分為五個區,分別為棧,堆,自由儲存區,全域性 靜態儲存區和常量儲存區,程式中各個資料儲存在這些記憶體的區域中。棧區有編譯器自動分配和釋放,存放函式的引數以及區域性變數。堆區中的記憶體分配和釋放有開發者負責。一般使用運算子new分配...