Undokumentierte GCC-Erweiterung: VLA in struct

Beim Lesen der Clang-Dokumentation bin ich auf den folgenden interessanten Leckerbissen gestoßen:[1]

clang unterstützt nicht die gcc-Erweiterung, die Arrays variabler Länge in Strukturen erlaubt. Dies hat einige Gründe: Erstens ist die Implementierung schwierig, zweitens ist die Erweiterung vollständig undokumentiert, und drittens scheint die Erweiterung nur selten verwendet zu werden. Beachten Sie, dass clang flexible Array-Mitglieder unterstützt (Arrays mit einer Null oder einer nicht angegebenen Größe am Ende einer Struktur).

Wie kann diese Erweiterung verwendet werden? Nach meinem Verständnis bewirkt die Verwendung von alloca in einem Konstruktor, dass der Stapelzeiger am Ende der aufrufenden Funktion wiederhergestellt wird, was in diesem Fall der Konstruktor ist - nicht am Ende der umschließenden Struktur.

Danke für die Hilfe!

Antworten auf die Frage(1)

Ihre Antwort auf die Frage