我正在检查以查看指针是否存在,如果确实存在,则它不能指向null/Zero值。我的代码看起来像这样:
if (prior != NULL && *prior){
//do something
}
先验是指针。但是,我在*prior
上遇到了细分故障。但是我不明白这是怎么可能的。如果先验为零指针,则应短路,因此 *先验应始终工作。
有什么想法?
if (prior != NULL && *prior){
//do something
}
segfault的理由不仅仅是提出无效指针。指针可能不是零的,但是,如果您尊重无效或悬挂的指针,您的程序仍然可以发挥作用。
重新访问有关指针的众所周知的答案:可以在其范围之外访问本地变量的内存吗?
还解释了为什么指针可能是无效的,但仍然无效。