呼叫函式和被呼叫函式的關係

2021-06-14 04:16:33 字數 422 閱讀 5236

1、當在乙個函式的執行期間呼叫另乙個函式時,在執行被呼叫函式之前,系統需要完成三件事情:

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

(2)為被呼叫函式的區域性變數分配儲存區;

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

2、從被呼叫函式返回到呼叫函式之前,系統要做三件事情:

(1)儲存被調函式的計算結果;

(2)釋放被調函式的資料區;

(3)依照被調函式儲存的放回位址將控制轉移到呼叫函式。

3、當有多個函式構成巢狀呼叫時,按照「後呼叫先返回的原則,上述函式之間的資訊傳遞和控制轉移必須通過棧來實現,

即系統將整個過程中執行時所需的資料空間安排在乙個棧中,每當呼叫乙個函式時,就為它在棧頂分配乙個儲存區,

每當從乙個函式退出時,就釋放它的儲存區,則當前執行的函式的資料區必須要棧頂。

C 之 main函式的呼叫與被呼叫

main函式能呼叫自身嗎?其他函式能呼叫main函式麼?下面先看一段有意思的程式,乙個簡潔有趣的列印菱形的程式。cpp view plain copy intline 1 intmain 效果圖如下 首先說一下 s 的用法,即 是用乙個int引數來代替,比如 printf s n 5,def 就相當...

Lucene查詢的函式呼叫關係

indexsearcher.search indexsearcher.createnormalizedweight query phrasequery.createweight new phraseweight indexsearcher.getsimilarity defaultsimilarit...

函式的引數和函式呼叫

1 函式的引數 在呼叫函式時,大多數情況下主調函式和被調函式之間存在著資料傳遞關係。於是就用到了形式引數和實際引數,簡稱形參和實參。在定義函式時函式名後面括號中的變數稱為 形參 在主調函式 一般為main 呼叫乙個函式時,函式名後面括號中的引數 可以是乙個表示式 稱為 實參 例如 void func...