ISO C禁止在C中使用空的初始化程序括号

我有这样的结构:

typedef struct { int a; int b; int c; int d; } Hello; 

然后我以这种方式宣布它:

 Hello hello[6] = {}; 

然后我得到了这个警告:ISO C禁止空初始化器括号,无论如何我认为我需要初始化它,如何以正确的方式做到这一点?

 Hello hello[6] = {{0}}; 

将每个结构的所有成员初始化为0。

那是无效的C. C中的通用零初始化器是{0} ,而不是{}

尝试这样的事情: –

  Hello hello[6] = {{0}}; 

这会将struct的所有成员初始化为0。