【发布时间】:2015-09-04 14:21:16
【问题描述】:
我在一些书籍中读到,用于声明可变长度数组的变量必须具有自动存储类。
谁能解释一下为什么它需要带有自动存储类的变量?
可变长度数组的空间是在栈还是堆中分配的?
【问题讨论】:
-
能否给出书名及相关摘录
-
VLA 仅在堆栈上分配在本地范围内,因此在超出范围时会自动释放。差不多就这些了。
-
您还会把 VLA 放在哪里?当 stack-VLA 不可用或数组需要超过分配它的函数时,动态分配数组是一种替代方法。
-
@Anony-mouse 我在 stepehen prata C prime plus book 中读到过
标签: c arrays stack heap-memory