面試中遇到的問題:一個指標重複釋放會出現什麼情況
一個指標重複釋放會出現什麼情況?
我當時的回答是:1.空指標可以重複釋放
2.非空指標(可能大概)會報錯。
由於好幾天沒有寫程式碼,對指標有些生疏了,所以對非空指標的情況不太確定 。
所以剛才編寫了一個小程式碼進行了測試:
#include <stdio.h>
int main()
{
int *p = (int*)malloc(sizeof(int)* 5);
free(p);
//p = NULL;
free(p);
return 0;
}
當把p=NULL註釋掉時,程式編譯通過,但執行時報錯。
不註釋p=NULL時,程式編譯執行都通過。