指针指向非法的内存地址,没有指向有效地址,那么这个指针就是悬挂指针,也叫野指针。意为无法正常使用的指针。
出现原因:
1.在定义指针变量后没有对他进行初始化。
如:
#include<stdio.h>
int main()
{
int *p;
}
2.指针释放后未置空
指针p被free或delete后没有置为NULL(*p=NULL//空指针)。程序会依然认为p是一个合法的指针。
所以释放指针后应立即将指针设为NULL以防止产生野指针。
指针指向非法的内存地址,没有指向有效地址,那么这个指针就是悬挂指针,也叫野指针。意为无法正常使用的指针。
出现原因:
1.在定义指针变量后没有对他进行初始化。
如:
#include<stdio.h>
int main()
{
int *p;
}
2.指针释放后未置空
指针p被free或delete后没有置为NULL(*p=NULL//空指针)。程序会依然认为p是一个合法的指针。
所以释放指针后应立即将指针设为NULL以防止产生野指针。