當前位置:首頁 » 編程語言 » c語言指針作為參數

c語言指針作為參數

發布時間: 2025-01-03 14:24:09

c語言中用一個函數指針作為另一個函數的參數,該怎麼解決

首先需要聲明函數指針的類型(下例子中的typedef int (*fpFunt)(int a,int b),再定義某個函數(下例中的Add),在其參數列表中使用該函數指針類型,同時需要定義另一函數(下例中的fpAdd,注意該函數形式要和fpFunt一致,本例子中是返回一個整數,兩個整型參數)作為實參用。這里在手機上使用易歷知食軟體內的微C程序設計來編程,舉個兩個數相加的例子,代碼如下圖:

㈡ 在c語言中,指針作為函數參數,形參只能傳遞值,而不能傳遞地址,是怎麼回事

C語言中,函數參數只能傳值。與傳值對應的是傳引用,C語言不支持函數參數傳引用,C++語言才支持。
C++傳引用函數:
void foo(int& a) { a = 3; }
假如a = 2,執行foo(a)後,a = 3。
---
C語言可以模擬傳引用,方法是通過指針來實現:
void foo2(int* ap) { *ap = 3; }
假如a = 2,執行foo2(&a)後,a = 3
foo2(&a)調用本質上仍然是傳值,只不過傳遞的是指針,指針即是地址,地址本質上是一個無符號整數。
如果:
void foo3(int b) { b = 3; }
假如a = 2,執行foo3(a)後,a = 2。這是因為foo3(a)調用過程中,a值傳給形參b,修改b的值與實參a無關。
注意到,foo3(a)與上述foo(a)傳引用的調用是形式一樣的。
既然C語言通過指針可以實現傳引用調用,為什麼C++還要引入引用這個特性呢?這是因為C++引入的很多新特性需藉助引用來實現,比如,拷貝構造函數等等。

㈢ C語言用指針作函數參數

選D
因為第一個參數是地址傳遞,fun(&b,a);中傳入a字元。*c=*c+1將c的值變為b字元。主函數的值改變。
第二個參數是值傳遞,所以在函數中d的值為B字元。但是並不影響主函數的值,所以主函數輸出a的值是A。b的值是b。

熱點內容
三位密碼鎖忘記密碼如何重置 發布:2025-09-18 10:21:52 瀏覽:184
linux怎麼編譯c文件 發布:2025-09-18 09:55:16 瀏覽:303
python安裝後無法運行 發布:2025-09-18 09:45:57 瀏覽:238
安卓手機怎麼剪輯音樂 發布:2025-09-18 09:44:16 瀏覽:782
伺服器地址修改在哪找 發布:2025-09-18 09:42:41 瀏覽:442
sntp伺服器地址 發布:2025-09-18 09:28:36 瀏覽:555
phpunit 發布:2025-09-18 09:25:19 瀏覽:573
怎麼改伺服器的ip地址嗎 發布:2025-09-18 09:24:33 瀏覽:14
編譯703n固件 發布:2025-09-18 08:50:59 瀏覽:541
三星手機系統文件夾是哪個文件夾 發布:2025-09-18 08:48:45 瀏覽:284