Heim >Backend-Entwicklung >C++ >Sind flexible Array-Mitglieder in C zulässig?

Sind flexible Array-Mitglieder in C zulässig?

Barbara Streisand
Barbara StreisandOriginal
2024-12-13 20:51:17747Durchsuche

Are Flexible Array Members Allowed in C  ?

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!

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