linux 与window下c申请'变长'数组的疑问

来源:互联网 发布:sony compact 网络制式 编辑:程序博客网 时间:2024/06/06 04:26

在ubuntu下,用C写下

int main(){   int N=10;   int a[N];   return 0;}

编译没问题。
但在window下用VS2008测试,出现问题:
error C2057: 应输入常量表达式
error C2466: 不能分配常量大小为 0 的数组
error C2133: “a”: 未知的大小
原因:与操作系统无关,与编译器相关,在指定使用C99的情况下支持。据说gun gcc 对标准c做了扩展,其中一个扩展就是变长数组。