在C語言中,釋放動態分配的內存通常使用free()
函數。動態分配的內存通常是通過malloc()
、calloc()
或realloc()
函數分配的,要釋放這些內存,只需將指向內存塊的指針作為參數傳遞給free()
函數即可。
例如,假設我們有一個動態分配的整型數組,要釋放該數組所占用的內存,可以這樣做:
int *arr = (int *)malloc(5 * sizeof(int)); // 分配一個包含5個整型元素的數組
// 使用arr數組
free(arr); // 釋放arr數組所占用的內存
需要注意的是,一旦調用free()
函數釋放了內存,該內存就會被標記為可用,但實際上內存中的數據并沒有被刪除或清空,如果在釋放內存后繼續訪問已釋放的內存區域,會導致未定義行為。因此,在釋放內存后最好將指針設置為NULL,以避免出現懸空指針的情況。