[動態記憶體配置] 認識動態記憶體配置

原本變數宣告的格式是:
形態 變數名稱;

編譯器會自動根據要求的型態
給予適合的記憶體大小
利用動態記憶體配置的格式是:
int* ptr;
ptr= new int;
new關鍵字會根據需要的資料型態
到記憶體裡面尋找合適的區塊
並且回傳該區塊的位址
我們利用指標ptr接收位址
之後就可以利用指標來取用該區塊內容
Ex:
*ptr=12;
我們可以看到
利用動態記憶體配置還有一個好處
不用知道變數的名稱
就可以利用指標間接存取內容
由於手動進行記憶體配置
進行釋放的責任
也回到程式設計者的身上
指標完成它的任務後
可以利用delete
釋放它所指向的記憶體
Ex:
#include <iostream>
using namespace std;

int main(){
 //建立指向整數的指標 
 int* ptr;     
 
    //利用new關鍵字配置記憶體
    //new會傳回記憶體位址  
 //我們用指標接收位址 
 ptr= new int;  
 
 //我們可以利用指標存取記憶體內容
  *ptr=12;
  cout << "指標ptr所指向的位址,值是" << *ptr << endl; 


  //使用完記憶體後,記得釋放

  delete ptr;
 
}

 

有疑問? 留個言吧!

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料