Следующий код генерирует для меня ошибку переполнения стека.
int main(int argc, char* argv[])
{
int sieve[2000000];
return 0;
}
Как мне обойти это? Я использую Turbo C ++, но хочу сохранить свой код на C
РЕДАКТИРОВАТЬ:
Спасибо за совет. Приведенный выше код был только для примера, я фактически объявляю массив в функции, а не в sub main. Кроме того, мне нужно было, чтобы массив был инициализирован нулями, поэтому, когда я погуглил malloc, я обнаружил, что calloc идеально подходит для моих целей.
Malloc / calloc также имеет преимущество перед распределением в стеке, позволяя мне объявлять размер с помощью переменной.