Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如果您执行了以下几行:
void dummy () { int n; scanf ("%d", &n); int A[n]; }
数组 A 将分配在 STACK 上还是 HEAP 上?
这应该是一个 C 或 C++ 问题吗?
请注意,您的数组声明在 C++ 中是非法的。在数组声明中使用非常量表达式来指定数组大小是非法的。
假设您的 C++ 编译器支持此声明(从 C 语言借用此功能),A则它是一个本地数组对象。它的分配方式与声明的任何其他没有链接的本地对象相同,即具有自动存储持续时间(您的术语中的“堆栈上”)。
A