Deklarieren eines Arrays mit einer nicht konstanten Größenvariablen [duplizieren]
Diese Frage hat hier bereits eine Antwort:
Welchen Compiler soll ich vertrauen? 4 Antworten Ich lerne für meinen Test in C und lese in einer C-Zusammenfassung, die ich von einer Website heruntergeladen habe. Es steht geschrieben, dass es nicht erlaubt ist @ zu schreibarr[i]
woi
ist eine Variable. Die einzige Möglichkeit, dies zu tun, ist malloc.
Ich habe jedoch den folgenden Code geschrieben und er wird ohne Warnungen und ohne Fehler auf valgrind kompiliert:
int index = 5;
int a4[index];
a4[0] = 1;
a4[1] = 2;
int index2;
scanf("%d",&index2);
int a5[index2];
a5[0] = 1;
a5[1] = 2;
Also, was ist die Wahrheit hinter Array-Deklarationen? Danke