小编4d4*_*143的帖子

C 语言中可以声明的局部变量数量有限制吗?

考虑到C中函数内部的局部变量一旦被调用就会被压入堆栈(在压入传递给函数的变量之后),在堆栈缓冲区溢出之前,所述变量的数量是否有限制?或者该限制仅由确定的主机拥有的 RAM 量决定?

我尝试通过创建一个 4,6gb .C 文件来测试这一点,其中包含一个函数,该函数声明了 25000*13 个变量并将其初始化为 0。该函数在内部调用,main()但它编译得很好(使用 -O0)并且没有'崩溃。

c memory callstack variable-declaration

3
推荐指数
1
解决办法
783
查看次数

标签 统计

c ×1

callstack ×1

memory ×1

variable-declaration ×1