free函數用於釋放malloc函數所開闢的內存空間,兩個函數是配對使用的,細節如下圖
int main(void)
{int *p = NULL;
p = (int *)malloc(sizeof(int));//開闢一個int類型大小的空間,用p指針指向它
*p = 10;//將10賦值給p指針指向的空間
cout << *p << endl;//輸出:10
free(p);//釋放p指針指向的空間cout << "p = " << *p << endl;//p指針原本指向的空間被其它變量佔用,輸出奇怪的參數:-57633
p = NULL;//釋放過後記得將指針指向null,以免引用上一行奇怪的參數,以後難以調試
cout << "p = " << p << endl;//輸出:00000000
return 0;
}