递归的实现和内存问题
如图,有这样一个使用递归的Age函数。
当调用这个函数时,在栈中为它分配了一块内存,实际就是为变量n分配了一块内存,因为还没有到达边界值,所以会一直调用自己,那么就会一直产生新的变量,又要为新的变量分配内存,而不会覆盖在一开始的内存上。
当返回一个值一后,函数才意味着执行完,内存才会被释放,也就是说,如图,对递归来讲,只有执行到边界时,才开始返回值,当数据很大时,这需要大量的内存,也会消耗相对较多的时间,而栈的内存是有限的,大概在1M左右,所以容易使程序崩溃。

相关文章:

  • 2021-12-09
  • 2021-12-07
  • 2021-12-04
  • 2022-12-23
  • 2022-12-23
  • 2022-01-06
  • 2021-12-18
  • 2022-12-23
猜你喜欢
  • 2021-05-27
  • 2021-08-22
  • 2021-07-19
  • 2021-12-24
  • 2022-01-19
  • 2022-12-23
  • 2021-11-08
相关资源
相似解决方案