【发布时间】:2018-10-27 11:19:21
【问题描述】:
如何确定 C 中的悬空指针?这是一个例子。
int *fun(void) {
int i = 2;
return &i;
}
【问题讨论】:
-
你是什么意思确定?确定
fun的返回值是否是悬空指针?或者传递/返回i变量的值(或地址)? -
i是一个局部变量。fun返回后它不存在,但您正在返回指向它的指针。如果您返回一个指向分配内存的指针但在返回它之前释放了指针,则相同。这样的指针悬空。这不是火箭科学。 -
我的意思是函数的返回值是不是悬空指针?
-
我明白了。谢谢