我的目的是确保b初始化为NULL。自动初始化结构成员为NULL
标准ISO/IEC 9899:201X子句6.7.9-> 10个州
如果具有静态或线程存储持续时间的对象不是 明确初始化,则: - 如果它有指针类型,它是 初始化为空指针;
以下程序:
#include<stdio.h>
struct A
{
char* b;
};
int main(void)
{
static struct A obj;
if (obj.b==NULL)
printf(" obj.b auto Initialized\n");
return 0;
}
给我的输出。
obj.b auto Initialized
这是否意味着条款6.7.9-> 10适用于结构对象的所有成员?
注:重点在引文是我
'初始化为该类型的零值'是优雅的。 +1 – sjsam