A.程序結(jié)束后,從堆區(qū)申請(qǐng)的內(nèi)存空間不會(huì)被系統(tǒng)自動(dòng)釋放,導(dǎo)致該內(nèi)存不能再被使用(稱為內(nèi)存泄露)。用free函數(shù)可以釋放_(tái)Memory所指向的內(nèi)存空間
B.free只是釋放指針指向的內(nèi)容,該指針還指向原地方(此時(shí)的指針?lè)Q為野指針)。操作野指針可能導(dǎo)致不可預(yù)料的錯(cuò)誤。所以,使用free釋放指針指向的空間后,應(yīng)將指針的值置為NULL
C.realloc函數(shù)可以重新_NewSize字節(jié)的內(nèi)存空間,該空間為用malloc等函數(shù)已經(jīng)申請(qǐng)的空間,_Memory指向該空間的首地址。如果_NewSize小于或等于_Memory之前所指向的空間大小,保持原有狀態(tài)不變。如果_NewSize大于原來(lái)_Memory之前所指向的空間大小,系統(tǒng)會(huì)出錯(cuò)
D.malloc函數(shù)可以從堆區(qū)申請(qǐng)_Size字節(jié)的內(nèi)存空間。如果申請(qǐng)成功,返回所分配內(nèi)存空間的首地址;如果申請(qǐng)失敗,返回值為NULL