在我的算法中,我知道使用静态数组,而不是动态数组。但我有时
达到堆栈的极限。我对吗,静态数组存储在堆栈中?
哪些参数会影响一个 C 程序的最大堆栈大小?
是否有许多系统参数影响最大数组大小?最大没有。元素的数量取决于数组类型?它取决于系统 RAM 总量吗?或者每个 C 程序都有一个静态最大堆栈大小吗?
我对吗,静态数组存储在堆栈中?
No, static
数组存储在静态存储区中。这自动的那些(即在函数内部声明的,没有static
存储说明符)在堆栈上分配。
哪些参数会影响一个 C 程序的最大堆栈大小?
这是系统相关的。在某些操作系统上您可以通过编程方式更改堆栈大小.
由于自动存储分配而耗尽堆栈空间是一个明显的迹象,表明您需要重新考虑内存策略:如果重入不是问题,您应该在静态存储区域中分配缓冲区,或者对最大的缓冲区使用动态分配你的数组。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)