gpt4 book ai didi

c - 如何检查变量是否在 C 中的内存 0xfdfdfdfd 中?

转载 作者:行者123 更新时间:2023-12-02 05:28:17 25 4
gpt4 key购买 nike

我有一个检查变量条件的代码。

有时这个变量在内存0xfdfdfdfd中,当然不能从那里读取。

如果变量是null,我会

 if(!variable)
{
//report error or skip...
}
else
{
//do stuff with the variable...
}

但显然 0xfdfdfdfd 意味着有一个变量,我就是无法访问它。

有没有我可以使用的检查(比如 null),这样我就不会在无法访问变量时试图弄乱它?

最佳答案

0xFDFDFDF 是一个用于帮助调试的魔数(Magic Number)。您可以在维基百科上找到引用 Magic Numbers , 还有有用的信息 in this SO answerin this other SO answer :

你可以看到:

FDFDFDFD Used by Microsoft's C/C++ debug malloc() function to mark "no man's land" guard bytes before and after allocated heap memory[15]

这可能意味着您正在尝试在分配到堆上的内存块之前或之后进行读取。

(虽然我内心的第一个想法是认为你的变量没有被初始化,但我不记得这些神奇的数字代码)

你应该纠正这个错误!不要像你想要的那样避免它。

关于c - 如何检查变量是否在 C 中的内存 0xfdfdfdfd 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27860684/

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