c - 栈内存是在运行时分配的还是编译时分配的?

标签 c stack-memory

栈是在运行时分配还是编译时分配?
示例:

void main()
{
    int x;
    scanf("%d", &x);
    int arr[x];
}

最佳答案

堆栈在运行时分配;然而,每个堆栈帧的布局是在编译时决定的,可变大小数组除外。

关于c - 栈内存是在运行时分配的还是编译时分配的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10822176/

相关文章:

jquery - 带有多个参数的 Json Post 请求

c - OSX Yosemite getutxent() 返回同一用户两次

c++ - 结构的有向图表示

java - java中数组初始化时的栈和堆内存

c - 在堆上使用缓冲区而不是在堆栈上使用缓冲区的性能优势 (C)

.net - .net 中的堆栈和堆内存分配

c++ - 使用 new 运算符静态分配对象

c - C中按位运算符的不同结果

c - 如何在 C 中为素数筛选算法设置可变长度数组?

c# - 堆栈真的应该在 C# 程序中分配吗?