为什么一维数组的类型说明符数组名是常量表达式而不是整型常量或整型表达式

在C语言中,一维数组的定义方式为类型说明符数组名()。
A [常量表达式]
B [整型表达式]
C [整型常量]或[整型表达式]
D [整型常量]

没有为什么,语法就这么规定的
这就导致你不可以先声明一个int n,再用n去初始化数组。除非n是常量。