3 回答

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超5個(gè)贊
typedef int(*CallBack)(char *p);//后面';'
變量名:CallBack
1.*CallBack:CallBack是一個(gè)指針
2.(*CallBack)():指向一個(gè)函數(shù)
3.(*CallBack)(char *p):這個(gè)函數(shù)有一個(gè)參數(shù),類型為char*
4.int(*CallBack)(char *p):這個(gè)函數(shù)有一個(gè)返回值,類型為int
最終:CallBack是一個(gè)指針,指向具有一個(gè)char*類型參數(shù),且返回一個(gè)int型數(shù)據(jù)的函數(shù)
前面有個(gè)typedef,所以現(xiàn)在CallBack是這種類型的別名
int func(char *p){
...
}
...
CallBack my_callback1 = func;//OK
CallBack my_callback2 = &func;//OK
以上二者均可

TA貢獻(xiàn)1783條經(jīng)驗(yàn) 獲得超4個(gè)贊
將callback 定義為以char*和int為參數(shù)并返回char*的函數(shù)指針類型
例如定義 callback fun1;
以后fun1就可以以這樣的形式使用:
char *pChar;
char *b;
int c;
pChar = fun1(b, c);
- 3 回答
- 0 關(guān)注
- 1236 瀏覽
添加回答
舉報(bào)