c - .h 中的指针会自动设置为 NULL 吗?

标签 c pointers

例如,如果我在 .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/

相关文章:

c - 简单 C 代码中的错误(指针)

c - 为什么 printf 打印出错误的值?

c - PThread Malloc 上的段错误

c++ - 函数参数中的 "type name[size]"是什么意思?

c++ - 结构成员在成功初始化后被垃圾值覆盖

c++ - `Array[i]` 与 `Array+i`

c - 如何在 C 语言中将正式的 if 语句包含到参数中?

c - 对如何完成计划感到不知所措

c - C 中的四重指针和 memcpy()

c - 需要获取父指针值,最好的方法是什么