(计算机)悬空指针/野指针:指向的内存已经被释放、超出作用域或不再有效,但指针变量仍保留着旧地址;继续解引用会导致未定义行为(崩溃、数据损坏、安全漏洞等)。
/ˈdæŋɡlɪŋ ˈpɔɪntər/
After you free the memory, set the pointer to NULL to avoid a dangling pointer.
释放内存后,把指针设为 NULL,可以避免出现悬空指针。
The crash happened because a function returned a pointer to a local variable, leaving a dangling pointer that was later dereferenced.
程序崩溃是因为函数返回了指向局部变量的指针,导致产生悬空指针,后来又被解引用。
dangling 意为“悬挂着的、摇摇欲坠的”,来自古英语相关词根,表示“挂着不稳”。在编程语境中借喻为“地址还挂着,但所指对象已不在”。pointer 来自 point(指向),表示“用来指向某处的东西”。合在一起形象地表达“指向已失效对象的指针”。