Flexible Array-Mitglieder in C
In C99 können flexible Array-Mitglieder verwendet werden, um Arrays unbekannter Größe als Teil einer Struktur zu deklarieren. Die Gültigkeit dieser Funktion in C war jedoch Gegenstand von Verwirrung.
Gültigkeit in C
C wurde 1998 standardisiert, bevor flexible Array-Mitglieder eingeführt wurden in C99. Folglich werden flexible Array-Mitglieder in C nicht unterstützt.
Korrekte Deklaration
Trotz des Missverständnisses ist „[0]“ eine gültige Deklaration für ein flexibles Array-Mitglied in C . Diese Syntax gibt an, dass die Größe des Arrays nicht angegeben ist und vom Benutzer zur Laufzeit festgelegt werden muss.
Beispiel
In C wird der folgende Code kompiliert und Ohne Fehler ausführen:
struct Blah { int foo[0]; };
Im Gegensatz dazu ist die Syntax „[]“ ohne Größe in C ungültig. Der Versuch, ein flexibles Array-Mitglied mit dieser Syntax zu deklarieren, führt zu einem Compilerfehler.
Das obige ist der detaillierte Inhalt vonSind flexible Array-Mitglieder in C gültig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!