为什么会堆栈溢出问题?

在一个算法中,如果递归函数调用过多次数,那么就会导致堆栈溢出。 原因就是,操作系统会自动给每个进程分配一个最大栈空间2M,如果超过了这个上限,就会导致递归函数执行终止,所以就会报错。递归就像你一直在往一个空间里放东西,也就是一直在入栈,调用一次会把内存地址进行一次入栈,直到调用结束,才会将地址出栈。想一想,是不是如果调用次数过多,入栈的内存地址大于2M,就会引起程序报错呢? 同样的,如果你创建一个
相关文章
相关标签/搜索