Heim > Artikel > Backend-Entwicklung > Kann GCC Array-Größen mit nicht konstanten Variablen deklarieren?
Array-Größe mit nicht konstanter Variable deklarieren: Eine GCC-Erweiterung
Trotz des allgemeinen Verständnisses, dass Array-Größendeklarationen in C konstante Ganzzahlwerte erfordern wurde beobachtet, dass bestimmter Code, wie zum Beispiel:
<code class="cpp">int ArraySize = 5; int MyArray[ArraySize];</code>
in einigen Umgebungen erfolgreich kompiliert werden kann. Diese Ausnahme ergibt sich aus einer GCC-Erweiterung.
Gemäß den C-Richtlinien sollte die Array-Grenze ein konstanter Ausdruck sein. Auch die Erklärung aus „The C Programming Language“ von Bjarne Stroustrup untermauert diese Annahme. Allerdings erlaubt GCC als Erweiterung des Standards die Verwendung nicht konstanter Variablen für Array-Größendeklarationen.
Für diejenigen, die Portabilität priorisieren, wird empfohlen, die Option „-pedantic“ zu verwenden, um eine entsprechende Warnung zu erhalten Erweiterungen. Alternativ kann „-std=c 98“ verwendet werden, um es als Fehler zu behandeln und die Einhaltung des Standards sicherzustellen.
Das obige ist der detaillierte Inhalt vonKann GCC Array-Größen mit nicht konstanten Variablen deklarieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!