函式作為引數傳遞

2021-09-27 06:01:51 字數 628 閱讀 4498

1.當函式作為引數傳遞時,一般使用函式指標

下面是例子

#include

typedef

int(

*func)

(int x,

int y)

;/*定義函式指標,指向引數為int x ,int y 返回值為int的函式*/

intfunc1

(int x,

int y)

/*函式func1,引數為int x ,int y 返回值為int*/

intfunc2

(func fun,

int x,

int y)

/*函式func2,引數為上面定義的函式指標,和要使用的引數*/

intmain

(void

)

this is func1

result = 10

總結:

什麼情況下需要用到,函式指標呢?在上面的這個例子,其實不用函式指標,直接在func2中呼叫func1是可以的。之所以這樣用,是我的func2在不改變內部**的情況下,可以直接使用與func1類似的函式。如果有func3 func4 … 我就直接傳進func2中使用即可。

函式作為引數傳遞

作為學前端的小白,剛開始學到函式作為引數傳遞時,簡直一臉的懵逼,為什麼有時候要加括號,有時候又不用,特別是遇到setinterval的時候。下面是參考網上的一些答案,做的一些總結 要是有什麼錯誤不合理的地方,煩請指正哦 1 首先要理解一點,函式是一種叫做function引用型別的例項,因此函式是乙個...

指標作為函式引數傳遞

值傳遞,指標傳遞?這幾天在學習c過程中,在使用指標作為函式引數傳遞的時候出現了問題,根本不知道從何得解 源 如下 createnode binnode tree,char p 該 段的意圖是通過乙個函式建立乙個二叉樹的節點,然而在,呼叫該函式後,試圖訪問該節點結構體的成員時候,卻發生了記憶體訪問錯誤...

陣列作為函式引數傳遞

陣列有兩個特殊的性質。一是不能複製陣列 二是使用陣列名字時,陣列會自動轉化為指向其第乙個元素的指標。由於陣列不能複製,所以無法編寫使用陣列型別形參的函式,因為陣列會被自動轉化為指標。一 一維陣列 1.三種定義形式 void printvalues int void printvalues int v...