可変長配列はどこでも使えるわけではありません。
可変長配列が使えるのは、ブロックの中か関数引数/プロトタイプの中だけで、
グローバル変数として宣言したり、struct や union の中のメンバとして宣言したり
することはできません。加えて、static や extern 付きの配列は、可変長配列に
できません。