1樓:匿名使用者
黑框框, 應該是指windows的command mode. 先確定了執行環境及條件, 才知道該怎麼回答.
在command mode被執行的程式, 程式結束後, 所有使用到的資源都會被釋放. 但是, 這個程式結束, 必須是指執行的程式真得結束, 而不單單只是command mode視窗被關閉, 程式在背景執行.
一般會注意需要free, 是指較大型的應用程式或是伺服器程式, 長時間執行不關閉, 又或是會反覆索取大量的動態資源, 這樣的情況. 而, 對於功能簡單, 執行後即結束的小程式, 其實不講究也不一定會出錯; 不過, 基於撰寫程式應該有良好習慣, 還是要注意這方面的操作.
ram使用, 通常有stack跟heap兩種. 動態索取的**是heap.
stack, 通常是預配置的, 所以在記憶體處理上, 會因為windows的定址設計, 控制在user space, 最大可接近2g(total space).
heap則是作業系統配置, 他使用動態擴充套件方式, 若原先給的不夠, 作業系統可以再擴增容量給你, 逐次增加, 直到作業系統能給出的最大.
以上為個人記憶中的概念, 如有訛誤, 敬請指教.
2樓:自我程式設計
一般獨立程序程式,關閉系統會自動**程序記憶體,所以會釋放。
malloc申請堆,window下一般1.5g左右網上有現成程式可以檢查大小。
#include
#include
unsigned int max = 0;
int main()
;int i, count;
for (i = 0; i < 3; i++)else}}
printf("max malloc size = %ub\n", max);
return 0;}
C語言問題,C語言問題C語言問題
選a首先,空格也是一種字元,b d選項分別把空格賦給了c1,c1 其次,c選項不完整,排除 不僅a這樣,10a20b也是可以的。 聽不清啊 答案a 10a 20b cr 是正確的。因為scanf d c 時,會忽略數字前面的空格,遇到非數字字元就會結束讀取 非數字字元會留待下一次讀取,即被後面的 c...
C語言問題,C語言問題
include void main 最後輸出 1 2 2 3 cca 2,b 2,c 4 2.設計一個程式 計算0xaf 01234567,字元 a 的ascii碼值 十進位制 是多少,101 代表的字元是什麼,32678 1的準確結果是多少,1.456e6 35的準確結果是多少,12345 6的準...
C語言問題,C語言問題
符合,相當於一個字元,ascii字元可以直接轉成short整型數字。101 不符合,這是一個字串,不能作為常數。不符合,因為 會對雙引號轉義,找不到另一個雙引號。會出錯。而且就算是 也不符合,因為編譯器會把它理解成一個字串,而非單個字元。e3不符合。019不符合,0開頭代表8進位制數,不能出現9。0...