-
靜態內存
鎖定
靜態內存意義
靜態的內存使用的是棧空間內存,不用程序員自己來分配。因為靜態變量佔用的存儲空間對於編譯器而言是可預計的,靜態內存只需要編程的時候直接聲明就可以了。與之相反動態內存則需要由程序員根據需要來自己分配並收回,動態內存是因為要執行一些因為外部請求而浮動佔用內存的應用,所以動態的內存分配時候會用new關鍵字或malloc或calloc函數,之所以要程序員自己來分配內存是由於有時候不能確定程序要使用多少內存。
靜態內存舉例
比如要通過用户或者文件或者數據庫中的查詢結果來確定使用多少數據,這時候程序員無法在程序的編寫的時候就把內存給固定分配出來。這時候必須得讓程序在運行的時候自己來為自己找到可用的內存,就一定要用動態的方式來分配內存以寫成這樣:
int n; cout << "input n:"; cin >> n; cout << endl; int* iArray = new int[n]; for (int i = 0; i < n; i++) { cin >>iArray[i]; }