看起來有問題,但是運行起來卻沒有問題,/*我的代碼*/#include#include#includeintmain(){char*p=NULL;p=(char*)malloc(4*sizeof(char));free(p);/****這里已經(jīng)釋放了p指向的內(nèi)存塊****/strcpy(p,"abc");printf("%s\n",p);retrun0;}/*free(p)釋放了p指向的內(nèi)存塊,但是并沒有改變p本身。于是產(chǎn)生了懸空指針,此時p不再指向有效的內(nèi)存塊,strcpy函數(shù)修改了p指向的內(nèi)存塊,卻沒有造成程序崩潰,為啥?****不科學(xué)???*/本人再MacOSX10.9上編譯,運行卻沒有出錯。求解釋》》》?。。?
”懸空指針“的怪異現(xiàn)象!!
梵蒂岡之花
2019-04-16 20:27:50