我遇到了这个问题,我的结构指针在nil
默认情况下总是被初始化。下面是我的代码。
#include <stdio.h>
struct SomeStruct {
int x;
};
int main()
{
int array[2]; // If I change this to 1, the code works fine
struct SomeStruct *ptr;
printf("%p\n", ptr); // always prints "nil"
}
有人可以解释一下这里发生了什么。具体来说,为什么将数组的大小更改为 1 会使代码运行良好。
以上是一些较大代码的一部分,我能够将问题简化为这一点。我需要ptr
稍后使用,但我得到分段错误,因为它是nil
。