hjr C 函式呼叫與引數傳遞與返回值

2021-07-13 03:03:00 字數 554 閱讀 4240

c語言就是由很多子函式組成的模組化語言

引數是體現乙個函式靈活性的重要工具

首先說下pc程式指標,pc是乙個暫存器,裡面的值指向當前程式**執行點的位址

既然是指標那麼,可以看這裡了解一下指標hjr教程-c(二):關於指標

指標變數值就是位址,我們的程式是從上往下執行的,程式又是存放到程式空間的,所以每一句程式都有乙個位址對應

pc就是記錄這個位址的,每執行一句程式,pc就加一,所以pc這個指標的值一直等於程式執行的那個點的位址

那麼如果呼叫子函式,pc怎麼辦,當執行到子函式時,pc會先加一,然後把pc值存到堆疊裡,然後然後讓pc值等於子涵數的位址值,執行子函式

執行完子函式後,在把存到堆疊裡的位址取出來,繼續執行,加一是為了跳過子函式呼叫那一句程式

那麼既然有子函式,就一定有引數傳遞與返回值

引數是怎麼傳遞的呢,首先,父函式呼叫子函式,比如子函式有3個引數,從後往前把引數壓入堆疊

然後把這三個引數,根據位數的不同彈出到不同的暫存器傳遞資料到子函式裡

至於子函式返回的值,根據返回的值位數的不同使用不同暫存器傳遞資料給函式呼叫處

C 函式的呼叫與引數傳遞

c 函式的呼叫與引數傳遞 根據函式引數傳遞的不同方式分 1.函式傳值呼叫 2.函式傳址呼叫 3.函式引用呼叫 1 傳值呼叫 函式傳值呼叫是將實參的值傳遞給形參,形參和實參各自具有單獨的儲存空間,因此改變形參的值時,實參的值不會受到任何影響。值傳呼叫多用在不需要被呼叫函式改變實參的值的場合。實參可以是...

SpringMVC Handler引數與返回值

url路徑對映 或 value的值是陣列,可以將多個url對映到同乙個方法 窄化請求對映 controller 請求方法限定 限定get方法,如果通過post訪問則報錯 http status 405 request method post not supported 限定post方法,如果通過po...

ARM呼叫標準(ATPC)與函式引數傳遞

atpc automatic transfer power control 自動發信功率控制。技術的要點是微波發信機的輸出功率在atpc控制範圍內自動跟蹤接收段接收電平的變化而變化 1 暫存器的使用必須滿足下面的規則 子程式間通過暫存器r0 r3來傳遞引數,這時,暫存器r0 r3可以記作a1 a4。...