C99 Struktur Designated Initialisers und anderer Wert

Mir ist bekannt, dass Sie in C99 Mitglieder der Struktur unter Verwendung des Mitgliedsnamens wie folgt initialisieren können:

struct myStruct
{
 int i;
 char c;
 float f;
};

Folgendes ist also gültig:

struct myStruct m = {.f = 10.11, .i = 5, .c = 'a'};

Es wird auch gesagt, dass nicht initialisierte Mitglieder auf gesetzt werden0. Damit

struct myStruct m = {.f = 10.11, .c = 'a'};

Hieri wird eingestellt auf0

Aber für Folgendes:

struct myStruct m = {.f = 10.11, .c = 'a', 6}; 

i wird immer noch auf 0 initialisiert. Was ist der Grund, wenn wir eine solche zusammengesetzte Initialisierung durchführen.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage