这将是一个新手问题,但我试图用C语言(不是C++)进行一个小练习,但遇到了一些问题。
假设我想在一个大小取决于参数之一的方法中使用一个数组:
void someFunc(int arSize)
{
char charArray[arSize];
// DO STUFF
...
}
当我尝试在Visual Studio 2013.c
中将其编译为文件时,我收到一条错误消息,指出不允许使用非常量数组大小。然而,相同的代码在GNU 编译器下的CodeBlocks中工作。我应该相信哪个?编译器的行为如此不同是正常的吗?我一直认为,如果您正在做编译器不喜欢的事情,那么您一开始就不应该这样做,因为它不是标准。
任何输入都是有用的!我来自Python的背景,我正在尝试更多地参与使用数据结构和算法进行编程。
我的平台是 Windows,你可能知道。如果这个问题需要更多信息才能回答,请告诉我。