Heim >Backend-Entwicklung >C++ >Gibt es in C Variable-Length-Arrays (VLAs)?
Arrays mit variabler Länge in C
Trotz der allgemeinen Annahme, dass C keine Arrays mit variabler Länge (VLAs) unterstützt, gibt es Möglichkeiten, dies zu erreichen ähnliche Funktionalität. Es ist jedoch wichtig zu beachten, dass die Verwendung dieser Methoden nicht die Kompatibilität mit allen Compilern garantiert.
Code-Erklärung
Der von Ihnen bereitgestellte Beispielcode wird kompiliert und funktioniert, weil:
Standardunterstützung
Es ist wichtig zu beachten dass der C-Standard nicht verlangt, dass Compiler VLAs unterstützen. Daher ist Code, der VLAs verwendet, möglicherweise nicht über verschiedene Compiler oder Plattformen hinweg portierbar.
Fehlgeschlagener Vorschlag für C 14 und C 17
Ursprünglich wurde vorgeschlagen, dass VLAs dies sein würden im C 14-Standard enthalten. Allerdings hat der Vorschlag den Abstimmungsprozess nicht bestanden und VLAs wurden der Sprache nicht hinzugefügt. Der Vorschlag wurde auch nicht für die Aufnahme in C 17 angenommen.
Schlussfolgerung
Obwohl VLAs nicht offiziell Teil des C-Standards sind, können sie als Erweiterung verwendet werden in bestimmten Compilern wie GCC. Es ist jedoch wichtig, sich potenzieller Portabilitätsprobleme bewusst zu sein und VLAs mit Vorsicht zu verwenden, insbesondere bei plattformübergreifendem Code.
Das obige ist der detaillierte Inhalt vonGibt es in C Variable-Length-Arrays (VLAs)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!