C++中指針數組的分配與釋放


C++中可用new和delete關鍵字分配和釋放內存,但是如果遇到指針數組(或指向指針的指針),分配和釋放必須慎重,不然容易造成內存泄漏。

下面用一段代碼給出如何使用指向指針的指針來分配和釋放內存:

int n;
cin>>n;

//分配內存
char** pStrArray = new char*[n];
for (int i=0;i<n;i++)
{
	pStrArray [i] = new char[5];
	cin>>pStrArray [i];
}

doOperator(pStrArray);//對字符串數組進行操作


//釋放內存
for (int i=0;i<n;i++)
{
	delete []pStrArray[i];
}
delete pStrArray;

  可以看出,分配內存時和一次指針沒啥區別,注意好類型里多個指針符號就行,但是在釋放內存時,需要先釋放各個元素指向的內存,並在變量名前加“[]”,表示釋放的是指針數組,最后釋放指針數組名指向的內存。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM