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.