簡體   English   中英

當它被指針指向時調用 function 和不被指針指向時的區別

[英]difference between calling a function when it is pointed by a pointer and not pointed by a pointer

我可以知道這里調用 function foo 的方式有什么不同嗎:

在此處輸入圖像描述

在(1)中, main調用go ,並在調用中傳遞了foo的地址。 在 (2) 中, main調用go並且不傳遞任何參數。 foo指定 function foo 。但是,當 function 指示符用於表達式而不是sizeofunary &的操作數時,它會自動轉換為指向 function 的指針。所以go(foo)等同於go(&foo) 。)

在 (1) 中, go接受一個參數,該參數是指向 function 的指針,具有未指定的參數和返回類型void (2)中, go不帶任何參數。

在 (1) 中, go通過使用其參數proc調用傳遞給其地址的 function。 在 (2) 中, go調用foo (如上所述,雖然foofoo();中使用,但它會自動轉換為地址,就好像(&foo)();已被寫入。所有 function 調用實際上使用 function 的地址,即使 function 指示符是用過的。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM