在main之前声明数组

时间:2018-10-20 17:42:57

标签: c arrays

C语言-我不明白为什么

这有效:

#define x 5
int vett[x];
main () {}

这有效:

int vett[5];
main () {}

这有效:

main () {
   int x=5;
   int vett[x];
}

这有效:

int x=5;
main () {
   int vett[x];
}

这不起作用:

int x=5;
int vett[x];
main () {}

1 个答案:

答案 0 :(得分:3)

在所有其他示例中,在main外部时,数组的大小用常量(5)初始化。 在最后一个示例中,数组的初始化在main之外,因此它不运行代码,编译器不知道x的值是什么。