首頁 >常見問題 >函數的遞歸呼叫是指什麼

函數的遞歸呼叫是指什麼

angryTom
angryTom原創
2019-07-24 14:38:2115969瀏覽

函數的遞歸呼叫是指什麼

推薦教學:java教學

遞迴定義

##遞迴定義

##  遞歸呼叫就是在當前的函數中呼叫當前的函數並傳給對應的參數,這是一個動作,這一動作是層層進行的,直到滿足一般情況的時候,才停止遞歸調用,開始從最後一個遞歸調用返回。

遞歸詳解

#  一個函數的運行期間呼叫另一個函數時,在執行被呼叫函數之前,系統需要完成3件事情:

  (1)將所有的實參、傳回位址等資訊傳遞給被呼叫函數保存;

  (2)為被呼叫函數的局部變數指派儲存區;

  (3)將控制權轉移到被調函數的入口。

在呼叫中

  而從被呼叫函數返回呼叫函數之前,系統也應完成3件工作:

  (1)儲存被調函數的計算結果;  (2)釋放被調函數的資料區;

  (3)依照被調函數儲存的回傳位址將控制權轉移到呼叫函數。當有多個函數構成巢狀呼叫時,依照後呼叫先傳回的原則。

遞迴函數特徵

  所有遞迴函數的結構都是類似的。

  (1)函數要直接或間接呼叫自身。   (2)要有遞歸終止條件檢查,即遞歸終止的條件被滿足後,則不再呼叫自身函數。

  (3)如果不滿足遞歸終止的條件,則呼叫涉及遞歸呼叫的表達式。在呼叫函數本身時,有關終止條件的參數要發生變化,而且需向遞歸終止的方向變化。

######總結############  函數的呼叫原則和資料結構堆疊的實作是相一致。也說明函數呼叫是透過棧實現的。 ###

以上是函數的遞歸呼叫是指什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn