Heim >Backend-Entwicklung >C++ >Werden flexible Array-Mitglieder in C unterstützt?

Werden flexible Array-Mitglieder in C unterstützt?

Susan Sarandon
Susan SarandonOriginal
2024-12-17 07:50:24307Durchsuche

Are Flexible Array Members Supported in C  ?

Flexible Array-Mitglieder in C

Flexible Array-Mitglieder, eine in C99 eingeführte Funktion, ermöglichen die Deklaration von Arrays innerhalb von Strukturen ohne Angabe einer festen Größe. Ihre Gültigkeit in C war jedoch umstritten.

In C werden flexible Array-Mitglieder nicht unterstützt. Dies liegt daran, dass der C-Standard älter ist als die Einführung flexibler Array-Mitglieder in C und nicht überarbeitet wurde, um diese aufzunehmen.

Die Syntax struct blah { int foo[]; }, das zum Deklarieren eines flexiblen Array-Mitglieds verwendet wird, ist in C ungültig. Um dies zu umgehen, muss die Syntax struct blah { int foo[0]; } kann verwendet werden. Hier bedeutet [0] ein Array mit der Länge Null, wodurch effektiv ein „flexibles“ Mitglied erstellt wird, ohne dass explizite Unterstützung erforderlich ist.

Das obige ist der detaillierte Inhalt vonWerden flexible Array-Mitglieder in C unterstützt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn