◎ 靜態記憶體配置是在編譯(Compile)階段就完成記憶體空間的配置
◎ 動態記憶體配置則是等到執行階段(runtime)才向作業要求配置所需的記憶體空間,動態記憶體配置的方法,可靈活運用程式所需的記憶體空間。
C/C++標準函式庫
【malloc()】:配置記憶體空間
語法:
(資料型態 *) 變數名稱 = (資料型態 *)malloc(sizeof(資料型態));
配置成功傳回指向此記憶體空間的指標,配置失敗則回傳NULL。
例如:
int *integer = (int *)malloc(sizeof(int));
// 配置結構陣列的記體空間(例如:陣列大小為10)
struct abc *s;
s = (struct abc *)malloc*(10*sizeof(struct abc));
【free()】:釋放配置的記憶體空間
free()函式可以釋放malloc()函式所配置出來的記憶體空間,例如integer指標指向malloc()所配置記憶體的位址,即可呼叫free()來釋放記憶體空間:
// 配置記憶體
int *integer = (int *)malloc(sizeof(int));
// 釋放記憶體
free(integer);
1 則留言:
C++ 是用 new 跟 delete 囉~
張貼留言