\u0026gt;「実行する前」か、「実行時に確保しておく」か、について、同じじゃないの?と思うのですが、、
「実行する前に」というのは、
プログラムを開始する前に必要なスペースを全て確保してしまい、あのと作業はその中でやり繰りする。という意味です。
「実行時に確保しておく」というのは、
プログラムを実行中に、個々の作業に応じて、その都度、その作業に必要なスペースを計算して確保してから、作業を開始する。
どの作業をやるかに応じて、柔軟にメモリの使用量を変化させながら、プログラムを実行してゆく感じです。
後者の場合、確保に失敗したり、確保に時間が掛かったりする可能性があり、各作業にかかる時間が見通せなくなる。(プログラムの処理時間の保証が出来なくなる)
という事の説明です。
理想は、初めに確保しておく方が良いですが、その代わり、使うか使わないかも分からないメモリを、動作中ずっと確保しておく必要があるので、メモリリソースを圧迫します。
(途中で追加確保しない以上、予め最大限に使う可能性のある十分なメモリの確保が必要です)