Heim > Backend-Entwicklung > C++ > Sind flexible Array-Mitglieder in C gültig?

Sind flexible Array-Mitglieder in C gültig?

Patricia Arquette
Freigeben: 2024-12-06 09:13:09
Original
512 Leute haben es durchsucht

Are Flexible Array Members Valid in C  ?

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];
};
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage