函式的執行過程

2021-07-25 07:07:27 字數 665 閱讀 3335

1.通過函式名字找到函式入口;

2.給形參分配空間;

3.傳值;

4.執行函式體語句;

5.返回,釋放空間。

#include 

void func(char *ptr)

int main(int argc,char **argv)

讀者認為輸出的結果是什麼?

輸出結果為:hello world

函式的本來意圖是讓字串從e往後開始輸出,即輸出ello world,可函式並沒有實現,為什麼?

讓我來為大家解讀下這個程式,首先定義乙個指標變數src,儲存的是字串首字元的位址,假設位址為0x1000,然後呼叫函式func,函式執行時通過函式名找到函式的入口,然後給形參ptr分配空間,裡面儲存的是主函式傳過來的0x1000,之後執行函式體ptr++,ptr對應空間的值做自加,ptr變為0x1001,函式執行完釋放空間。整個過程發現,只是形參做了自加,並未改變實參的值。

那麼要想實現輸出ello world,源**該如何做修改?

#include 

void func(char **ptr)

int main(int argc,char **argv)

DoModal函式的執行過程

domodal函式的執行過程 這是我觀察mfc源 得出的結論 1 載入對話方塊資源 2 使父視窗失去焦點 3 建立對話方塊視窗 4 執行對話方塊的訊息迴圈 5 退出訊息迴圈,隱藏對話方塊視窗 大小及位置 0,0,0,0 6 使父視窗重新獲得焦點 6 呼叫destroywindow銷毀對話方塊視窗。7...

js 函式執行過程

函式執行過程中 1.每使用乙個變數,函式都會由近到遠的遍歷自己的好友列表中的作用域物件。2.如果在離自己近的格仔中找到了區域性變數,就優先使用區域性變數,不再去全域性找。3.如果在離自己近的格仔中沒找到要用的區域性變數,才被迫去全域性找,如果在全域性找到了想用的變數,則本次修改結果,會影響全部變數的...

python遞迴函式的執行過程

舉例 def nove n,a,b,c if n 1 print a,c else nove n 1,a,c,b nove 1,a,b,c nove n 1,b,a,c 執行輸出結果 nove 3,a b c a c a b c b a c b a b c a c 執行過程詳解 1 def nove...