遞歸的實現和內存問題

如圖,有這樣一個使用遞歸的Age函數。 當調用這個函數時,在棧中爲它分配了一塊內存,實際就是爲變量n分配了一塊內存,因爲還沒有到達邊界值,所以會一直調用自己,那麼就會一直產生新的變量,又要爲新的變量分配內存,而不會覆蓋在一開始的內存上。 當返回一個值一後,函數才意味着執行完,內存纔會被釋放,也就是說,如圖,對遞歸來講,只有執行到邊界時,纔開始返回值,當數據很大時,這需要大量的內存,也會消耗相對較多
相關文章
相關標籤/搜索