Объявление массива

olegsidorovich
Offline
Зарегистрирован: 30.08.2019

Может кто подскажет, такой момент. Как мне объявить массив, размер которого я предварительно рассчитываю?

Например:

 

int a = 5;
int b =10;
int N = b/a;
unsigned long D[N];

Размер массива для записи отсчетов данных приходит с компа и может быть разным, а я могу объявить только заданный размер, как сделать чтобы в размерности массива можно было поставить переменную.

sadman41
Offline
Зарегистрирован: 19.10.2016

Что с этим массивом потом делать предполагается?

b707
Offline
Зарегистрирован: 26.05.2017

olegsidorovich пишет:

как сделать чтобы в размерности массива можно было поставить переменную.

Для статически обьявляемого массива (вот как у вас в коде) - никак. По стандарту языка С размер массива должен быть известен на момент компиляции.

Но можно обьявить массив динамически оператором new

sadman41
Offline
Зарегистрирован: 19.10.2016

Динамически можно выделить в функции...

rkit
Offline
Зарегистрирован: 23.11.2016

В большинстве случаев достаточно сразу выделить массив максимально возможного размера.

olegsidorovich
Offline
Зарегистрирован: 30.08.2019

sadman41 пишет:
Динамически можно выделить в функции...

Попробую так.

 

b707
Offline
Зарегистрирован: 26.05.2017

olegsidorovich пишет:

sadman41 пишет:
Динамически можно выделить в функции...

Попробую так.

 

вы бы лучше пояснили, что вы хотите сделать и зачем вам массив неизвестного размера...

В микроконтроллере, с его крохотной памятью - ситуации когда вы заранее не знаете размер нужного вам массива - экзотика...