首页 > 解决方案 > 在 main 之前声明数组

问题描述

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 () {}

标签: carrays

解决方案


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


推荐阅读