error: variably modified 'num' at file scope

#include <stdio.h>
const int maxn=10;
int num[maxn];
#include <stdio.h>
const int maxn=10;
int main(){
  int num[maxn];
}

请问为什么第一种形式报错,第二种通过?还有第二种形式不要const也可以通过。

因为const int和define的调用,要在主函数内

如果有帮助,请点击采纳按钮,谢谢