Следующий код генерирующий ошибку переполнения стека для меняПолучение исключение переполнения стека при объявлении большого массива
int main(int argc, char* argv[])
{
int sieve[2000000];
return 0;
}
Как обойти это? Я использую Turbo C++, но хотел бы сохранить свой код в C
EDIT:
Спасибо за совет. Код, приведенный выше, был только, например, я фактически объявляю массив в функции, а не в sub main. Кроме того, мне нужно, чтобы массив был инициализирован нулями, поэтому, когда я googled malloc, я обнаружил, что calloc идеально подходит для моих целей.
Malloc/calloc также имеет преимущество перед распределением в стеке, позволяя мне объявить размер с помощью переменной.
все еще посмеиваясь @ «сито» – el2iot2
Я прочитал «исключение переполнения стека» и подумал: «... что-то не так с сайтом?» Ясно, что я трачу слишком много времени здесь: -/ –
Я уверен, что этот тип вопроса должен был появиться ранее на этом сайте, но поиск «переполнения стека» бесполезен –