1000個の要素を割り当てることが、プラットフォーム上で利用可能なメモリを強調するのは、悪い習慣です。 1000個の要素で、サーバやデスクトップマシンではほとんど問題になりません。組み込みシステムでは問題になる可能性があります。 1M以上の要素をあらかじめ割り当てようとしている場合、特に通常の場合が1k要素になる場合は、大規模なマシンであってもそれは恐らく過大ですが、それは完全には明確ではありません。スタックのサイズは限られていますが、グローバル変数はしばしば膨大なものになります。
処理対象のアイテムが1001個あると判明した場合、フォールバックプランとは何ですか?あなたのテストは、行が増えたときの動作を検証するつもりですか?この問題を無視することは受け入れられません。バッファまたは配列のオーバーフローが発生する可能性があります。ダイナミックアロケーションに戻した場合は、ダイナミックメモリアロケーションコードがテストされていることを知っているかのように、ダイナミックにすべてを動的に割り当てる必要があります。余分な要素を拒否するだけで、それがユーザーにとっては妥当である場合は、固定サイズを使用してオーバーフローしないことを確認するだけです。
いいえ、いいです。静的割り当てと動的割り当ての長所と短所があります。それらを評価する必要があります。そして、いいえ、それは意見に基づく質問ではありません、完全な情報を与えられれば答えはかなり客観的です。 –
可変長配列(CはC99以降の配列)が必要です。 –
私は 'alloca'をお勧めします –