C 中的变长数组
尽管普遍假设 C 不支持变长数组 (VLA),但仍有一些方法可以实现类似的功能。但是,请务必注意,使用这些方法并不能保证在所有编译器之间的兼容性。
代码说明
您提供的示例代码可以编译并运行,因为:
标准支持
需要注意的是C 标准不要求编译器支持 VLA。因此,使用 VLA 的代码可能无法跨不同编译器或平台移植。
针对 C 14 和 C 17 的失败提案
最初建议将 VLA包含在 C 14 标准中。然而,该提案并未通过投票程序,VLA 也没有添加到语言中。该提案也未能被接受纳入 C 17。
结论
虽然 VLA 不是 C 标准的正式一部分,但它们可以用作扩展在某些编译器中,例如 GCC。然而,了解潜在的可移植性问题并谨慎使用 VLA 至关重要,尤其是在跨平台代码中。
以上是C 中是否存在可变长度数组 (VLA)?的详细内容。更多信息请关注PHP中文网其他相关文章!