次のコードは、スタック オーバーフロー エラーを生成しています
int main(int argc, char* argv[])
{
int sieve[2000000];
return 0;
}
どうすればこれを回避できますか? Turbo C++ を使用していますが、コードは C のままにしたいと考えています。
編集:
アドバイスをありがとう。上記のコードは単なる例であり、実際にはサブメインではなく関数で配列を宣言しています。また、配列をゼロに初期化する必要があったため、malloc で検索したところ、calloc が私の目的に最適であることがわかりました。
Malloc/calloc には、変数を使用してサイズを宣言できるというスタックへの割り当てよりも利点もあります。