野指针
看代码
void *p; // 此时p为野指针
“野指针”可能指向任意内存段,因此它可能会损坏正常的数据,也有可能引发其他未知错误
正确做法
void *p = NULL
悬空指针
看代码
void *p = malloc(size);
free(p);
// p为悬空指针了
free(p) 之后,p指针仍然指向之前分配的内存,有可能会引发不可预知的错误
正确做法
void *p = malloc(size);
free(p);
p = NULL
看代码
void *p; // 此时p为野指针
“野指针”可能指向任意内存段,因此它可能会损坏正常的数据,也有可能引发其他未知错误
正确做法
void *p = NULL
看代码
void *p = malloc(size);
free(p);
// p为悬空指针了
free(p) 之后,p指针仍然指向之前分配的内存,有可能会引发不可预知的错误
正确做法
void *p = malloc(size);
free(p);
p = NULL