c中数组的内存分配

时间:2016-05-12 15:24:09

标签: c static-memory-allocation

std::runtime_error

数组“arr”的内存应该在编译时分配,但在这种情况下,它从用户获取“a”的值(运行时)并为数组分配相同的大小。请澄清。

1 个答案:

答案 0 :(得分:6)

是的,这被称为可变长度数组。自C99以来,它一直是C的标准。

所以不,不应该在编译时为这样的代码分配内存。当然,这是不可能的。

此外,应使用size_t打印sizeof类型的值(如%zu运算符生成的值)。