来自 ISO/IEC 9899:1999 -> 6.7.8 初始化 § 10
如果具有自动存储持续时间的对象未显式初始化,则其值是不确定的。如果具有静态存储持续时间的对象未显式初始化,则:
— 如果它具有指针类型,则将其初始化为空指针;
— 如果它具有算术类型,则将其初始化为(正或无符号)零;
— 如果是聚合,则每个成员都根据这些规则(递归地)初始化;
— 如果是联合,则根据这些规则(递归地)初始化第一个命名成员。
我做对了吗,想象一下这段代码:
int main()
{
static char *szArray[4];
return 0;
}
确保每个成员szArray[]
都初始化为NULL
? 或者在这种情况下我如何理解“递归”?