爲什麼會堆棧溢出問題?

在一個算法中,如果遞歸函數調用過多次數,那麼就會導致堆棧溢出。 原因就是,操作系統會自動給每個進程分配一個最大棧空間2M,如果超過了這個上限,就會導致遞歸函數執行終止,所以就會報錯。遞歸就像你一直在往一個空間裏放東西,也就是一直在入棧,調用一次會把內存地址進行一次入棧,直到調用結束,纔會將地址出棧。想一想,是不是如果調用次數過多,入棧的內存地址大於2M,就會引起程序報錯呢? 同樣的,如果你創建一個
相關文章
相關標籤/搜索