3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
一把梭系列 ~ C語言範例 (0019) [指標與動態配置記憶體 – malloc、free] 資料來源: https://openhome.cc/Gossip/CGossip/MallocFree.html https://www.cplusplus.com/reference/cstdlib/malloc/ https://www.cplusplus.com/reference/cstdlib/free/ 線上執行: https://www.tutorialspoint.com/compile_c_online.php ★前言: ★主題:     C/C++一般陣列的大小必須在宣告時就明確告知,但有些程式情況卻無滿足該條件 01.動態配置記憶體 void* malloc (size_t size); void* malloc (size_t size); 02.釋放動態配置記憶體 void free (void* ptr); ★code #include /* printf, scanf, NULL */ #include /* malloc, free, rand */ #include /* time */ int main () { int i,n; char *buffer='\0'; printf ("How long do you want the string? "); scanf ("%d", &i); buffer = (char *) malloc (sizeof(char)*(i+1)); if (buffer=='\0') exit (1); srand (time(NULL));//初始亂數種子 for (n=0; n ★結果: ★延伸說明/重點回顧:     01.C/C++一般陣列的大小必須在宣告時就明確告知,但有些程式情況卻無滿足該條件,此時就是要使用動態配置來解決。     02.『動態配置記憶』雖然很方便,但是這也是一把雙面刃,如果沒有對稱(成對)的使用『釋放動態配置記憶』就會造成『記憶體洩漏』的問題,如果情況嚴重可能會造成程式錯誤,必須非常小心使用。

本文由jashliaoeuwordpress提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦