在調用時,在需要函數做參數的位置直接寫上要做為實參的函數名就可以了:
神農架林區(qū)ssl適用于網站、小程序/APP、API接口等需要進行數據傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
如:
//---------------------------------------------------------------------------
#include stdio.h
int fun(void)
{
return 117;
}
int aun(int (*a)(void))
{
printf("%d\n",(*a)());
}
int main(void)
{
aun(fun);
return 0;
}
//---------------------------------------------------------------------------
Question:在函數void function()中,需要將另外一個函數double input()的函數名作為參數。
typedef double (*P)(int);
Note:參數部分需要注意,函數input()所有的輸入參數類型都需要包含在內。
例如 double input(double u[5], int num, double x), 則在定義時寫作 typedef double (*P)(double*,int,double)。
此時,函數作為一種類型,可以直接被其他函數調用。
函數聲明中定義 void function(P input),調用function(input)即可。
也可以寫成
函數的參數分為形參和實參兩種。
形參出現在函數定義中,在整個函數體內都可以使用,離開該函數則不能使用。實參出現在主調函數中,進入被調函數后,實參變量也不能使用。
形參和實參的功能是作數據傳送,發(fā)生函數調用時,主調函數把實參的值傳送給被調函數的形參從而實現主調函數向被調函數的數據傳送。
舉個例子:
定義一個函數s=f(a,b),功能是將a和b的差賦值給s,那么,a和b就是這個函數的兩個參數。
擴展資料:
C語言的參數傳遞方式
方法有3種方式:值傳遞、地址傳遞、引用傳遞
tips:
被調用函數的形參只有函數被調用時才會臨時分配存儲單元,一旦調用結束占用的內存便會被釋放
值傳遞和地址傳遞,傳遞的都是實參的一個拷貝
C語言中實參和形參之間的數據傳遞是單向的“值傳遞”,單向傳遞,只能由實參傳給形參,反之不行
輸出格式并沒有選擇%p而是選擇了%d,因為十進制的數看起來更直觀。
值傳遞
如果只是傳遞值的話:
#include stdio.h
//值傳遞傳值
void swap( int x, int y);
int main()
{
int a=2,b=3;
printf("before:實參為a,b\na=%d,地址為%d\nb=%d,地址為%d\n\n",a,a,b,b);
swap(a,b);
printf("after:實參為a,b\na=%d,地址為%d\nb=%d,地址為%d\n\n",a,a,b,b);
return 0;
}
void swap(int x,int y)
{
int tmp;
tmp=x;
x=y;
y=tmp;
printf("inside:形參為x,y\nx=%d,地址為%d\ny=%d,地址為%d\n\n",x,x,y,y);
}
把函數名作為參數就是函數的地址了.
如下面的例子
#include
stdio.h
typedef
int
(*PFUN)(int
a,
int
b);//函數指針
int
add(int
a,
int
b)
{
return
(a+b);
}
void
fun(int
a,
int
b,
PFUN
pfun)
//函數指針作為函數的參數
{
printf(“%d\n",
pfun(a,b));
}
int
main()
{
int
a=5;
int
b=6;
PFUN
pfun=add;
//將函數指針指向add
fun(a,
b,
pfun);
return
0;
}
就是把函數的返回值作為參數來調用外層函數。比如有返回兩個數的大者的函數int
max(int
a,int
b),那要求三個數的最大者就可以這么調用max(max(a,b),c);,就是先求得a、b中的大者再與c進行比較……
網站欄目:c語言函數參數是函數 c語言中函數參數是什么
分享路徑:http://muchs.cn/article0/hgeeio.html
成都網站建設公司_創(chuàng)新互聯,為您提供微信小程序、動態(tài)網站、品牌網站建設、App開發(fā)、網站排名、響應式網站
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯