Я задал предыдущий вопрос об объявлении массива в цикле for, например.Array in for loop, C99
for(i=0;i<=1000;i++){
float arrayone[(length[i])];
do a bunch of other stuff
}
В принципе, я пытаюсь сделать массив, длина которого может варьироваться в зависимости от того, на каком этапе находится программа. Я не хочу, чтобы данные массива сохранялись постоянно (например, arrayone [] []), так как он большой, и есть много шагов.
Так что мне сказали, что законно объявлять массив только в этой области, как это. Но попытается ли он хранить 1000 копий массива к концу, чего я не хочу? Я новичок, поэтому я не понимаю нюансов того, что действительно делают блоки.
Альтернатива для меня состоит в том, чтобы сделать массив вне цикла, который имеет максимальную длину, когда-либо необходимо, и перезаписать это на каждом шагу.
Редактировать: Использование для массива: у меня есть глобальный массив. Массивы в цикле заполняются результатами функции с использованием этого глобального массива, чтобы экономить вычисления. Массивы обрабатываются, ..., ... и, наконец, используются для изменения глобального массива. Тогда они больше не нужны.
Перейти к альтернативным решениям – ControlAltDel
Вы действительно задали вопрос? Я его не вижу. – abelenky
Было бы неплохо поделиться тем, что делает массив, возможно, есть лучший способ сделать это, чем это. –