此编译启用或禁用对可变长度数组的支持。
缺省情况下,C90 和标准 C++ 不支持可变长度数组。 选择 --vla
选项可启用对 C90
或标准 C++ 中可变长度数组的支持。
标准 C 和 GNU 编译器扩展均支持可变长度数组。 如果源语言是 C99 或者指定了 --gnu
选项,则将隐式选择 --vla
选项。
size_t arr_size(int n) { char array[n]; // variable length array, dynamically allocated return sizeof array; // evaluated at runtime }