gpt4 book ai didi

c - if 语句段错误

转载 作者:行者123 更新时间:2023-11-30 18:36:32 25 4
gpt4 key购买 nike

我正在检查指针是否存在,如果存在则它不指向 NULL/零值。我的代码如下所示:

if (prior != NULL && *prior){
//do something
}

其中prior是一个指针。但是,我在 *prior 上遇到段错误。但我不明白这怎么可能。如果 previous 是 NULL 指针,则 if 语句应该短路,因此 *prior 应该始终有效。

有什么想法吗?

最佳答案

if (prior != NULL && *prior){
//do something
}

产生段错误的原因不仅仅是取消引用 NULL 指针。指针可能不为 NULL,但如果您引用无效或悬空的指针,您的程序仍然可能出现段错误。

重温这个关于指针的众所周知的答案:Can a local variable's memory be accessed outside its scope?

这也解释了为什么指针可以为非 NULL 但仍然无效。

关于c - if 语句段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40900565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com