どんな複雑な計算だろうがコンパイル時には既に
その計算に必要な量のメモリが分かっているから

int a[n];
のようにコンパイル時にサイズが解決できない宣言はエラーとなる