在C/C++等语言中,悬空指针(Dangling Pointer)指的是:一个指针的指向对象已被删除,那么就成了悬空指针。野指针是那些未初始化的指针。
例如:
int main(){
char*dp = NULL;
for(i=0;i<1;i++) {
char c;
dp =&c;
}
/* 注意c的声明周期 */
/* dp 此时为悬空指针 */
}
这里for循环只是说明c是局部变量
void f(){
char*dp;
/* dp 未初始化,是野指针 */
}
有时也把野指针和悬空指针通称悬空指针