使用后該指針變量ptr一定要重新指向NULL,防止野指針出現,有效 規避誤操作。比如如下:
當然這是C版的;不全但是最后結果看截圖。可以知道ptr指向還是原來的內存單元,只不過是該內存單元被標示可擦除了。
~~~
typedef struct data{
int year;
char *name;
}Data;
Data *pd=malloc(sizeof(Data));
pd->name="pengrong";
pd->year=32;
printf("%s\t%d\n",pd->name,pd->year);
free(pd);
printf("%s\t%d\n",pd->name,pd->year);
~~~
輸出

沒free的話 你的printf會按規定的數據類型去打印
而你free以后 沒有了數據類型限定的內存單元空間 printf方法就沒辦法正常打印了
所以調用完后必須把ptr手動賦值為null;防止野指針存在。