c语言爆栈如何修改

Python021

c语言爆栈如何修改,第1张

这个栈大小是编译器里的参数,你必须到你的编译环境里找到设置的地方,把上限值调大。

如果你找不到这个设置菜单的话,代码改用堆空间,而不用栈空间,也能实现你的功能的。一般编程的时候,这么大片的连续空间的使用都会选择用堆,而不用栈,因为栈的空间很有限。

使用堆的方法就是调用malloc函数申请空间。

缺点

1.

比较容易爆栈(可以理解为运行程序时占用内存空间过多,超出规定的内存空间,也可以简单的理解为会报错) 例如,就像上面的斐波那契数列一样,如果我们输入30000,此时就会爆栈(报错),是因为我们在求第30000项斐波那契数列的值时占用了过多的内存空间 所以,当我们在写一些追求效率的程序时,要谨慎使用递归函数

2.

难于阅读,难于维护 例如本文章第一个代码块的程序 如果,我们要求fun(5),此时的代码展开是这样的,而这仅仅是一个简单的递归函数,只需要输出一个数字,且递归次数也