栈溢出了:栈溢出几种情况及解决方案

一、局部数组过大。当函数内部的数组过大时,有可能导致堆栈溢出。

二、递归调用层次太多。递归函数在运行时会执行压栈操作,当压栈次数太多时,也会导致堆栈溢出。

三、指针或数组越界。这种情况最常见,例如进行字符串拷贝,或处理用户输入等等。

 

解决这类问题的办法有两个,

      一是增大栈空间,二是改用动态分配,使用堆(heap)而不是栈(stack)。 

相关推荐

相关文章