Sind flexible Array-Mitglieder in C gültig?
In C99 können flexible Member-Arrays innerhalb von Strukturen deklariert werden, wodurch die Array-Größe angepasst werden kann nicht spezifiziert. Allerdings ist die gleiche Syntax in C nicht anwendbar. Beim Versuch mit clang schlug die Kompilierung fehl, sodass eine Änderung der Deklaration erforderlich war, um [0] einzuschließen.
Gültigkeit in C
Gemäß dem C-Standard, dort ist kein expliziter Verweis auf flexible Member-Arrays. Dies deutet darauf hin, dass sie in C nicht gültig sind.
Korrekte Deklaration
Während [0] traditionell als ungültige Deklaration für Arrays angesehen wird, scheint es sich um eine gültige Deklaration zu handeln für flexible Member-Arrays. Diese Abweichung vom Standard-Array-Verhalten gilt nur für flexible Member-Arrays in C.
Schlussfolgerung
Flexible Member-Arrays sind in C nicht gültig, obwohl sie in C99 verfügbar sind. Der Ausschluss dieser Funktion in C ergibt sich aus der Tatsache, dass C vor ihrer Einführung in C standardisiert wurde.
Das obige ist der detaillierte Inhalt vonSind flexible Array-Mitglieder in C zulässig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!