ISO C interdit les accolades d’initialisation vides en C

J’ai une structure comme celle-ci:

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

alors je le déclare de cette façon:

 Hello hello[6] = {}; 

Ensuite, j’ai eu cet avertissement: ISO C interdit les accolades d’initialisation vides, de toute façon je pense que je dois l’initialiser, comment le faire correctement?

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

Initialisera tous les membres de chaque structure à 0.

Ce n’est pas valide C. L’initialiseur de zéro universel dans C est {0} , pas {} .

Essayez quelque chose comme ça: –

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

Cela initialisera tous les membres de struct à 0.