【发布时间】:2011-12-13 20:03:25
【问题描述】:
在 Visual Studio 2005 中,我正在尝试编译一个 .c 文件:
int i = 6;
int a[i];
它不起作用,那么我的编译器遵循哪个标准?
【问题讨论】:
-
解决方法是使用
malloc()-- 它的优点是可以让您检测分配失败。 -
我正在阅读一本遵循 C89/C99 标准的书。我应该买一本新书吗?我也不知道 gcc。
-
是哪本书? C99 标准当然值得了解,但微软采用它的速度特别慢。最好了解 C90 中哪些是新特性,哪些是 C90 中可用的(几乎所有编译器都支持)。
-
就是这个book我不知道是书错了还是编译器错了。
-
我听说过关于那本书的好消息,虽然我自己没有读过。这本书和编译器实际上都没有错。这本书显然描述了 1999 年版本的 C 语言;上的编译器(或多或少)实现了 1990 版本。可变长度数组于 1999 年被添加到该语言中。