Я вижу некоторый код, как это:размер массива определяется во время выполнения
int foo()
{
int sz = call_other_func();
char array[sz];
/* whatever */
}
Я сбит с толку, как это будет работать и даже компилировать с gcc
. Предполагается, что размер массива статический и определяется во время компиляции, нет?
А как она будет работать - почему бы не * * это работает? –
Возможный дубликат [Как размер массива переменной длины, вычисленный во время выполнения в C99?] (Http://stackoverflow.com/questions/13908421/how-is-size-of-variable-length-array-computed-at- runtime-in-c99) –
Возможный дубликат [Объявить массив с переменной] (http://stackoverflow.com/questions/19131712/declare-an-array-with-a-variable) –