例如,如果我在 .h 中声明一个指向结构的指针:
my_struct_t *ptr;
...然后我检查代码中的 if(ptr==NULL)
,实际上没有将 ptr 设置为 NULL 或为其分配内存,我可以检查它是否相等为空?
基本上我要问的是,通过在 .h 中包含 ptr,它会自动设置为 NULL,还是我必须这样做?
谢谢, 赫里斯托
修订:这是用 C 完成的
最佳答案
来自 K&R2nd:
In the absense of explicit initializations, external and static variables are guaranteed to be initialized to zero.
所以,是的。
这似乎在 1990 年标准的 A8.7 节中。不知道去哪里查看 1999 标准。
关于c - .h 中的指针会自动设置为 NULL 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2303854/