在理解「回調函數」以前,必需要了解函數指針函數
函數指針:把指向函數入口地址的指針叫作函數指針(注意:函數指針必需要用括號括起來),好比spa
void Invoke(char *c);指針
void (*fp)(char* s);//聲明瞭一個函數指針(fp)
code
fp = Invoke; //將Invoke函數的入口地址賦值給fp
回調函數
fp("Hellp world") ;//函數指針fp實現函數調用
import
2.回調函數:就是本身定義一個函數,並把這個函數做爲另外一個函數的參數,用另外一個函數在運行時調用的函數。gc
//定義帶參回調函數
void PrintfText(char* s)
{
printf(s);
}
//定義實現帶參回調函數的"調用函數"
void CallPrintfText(void (*callfuct)(char*),char* s)
{
callfuct(s);
}
//在main函數中實現帶參的函數回調
int main(int argc,char* argv[])
{
CallPrintfText(PrintfText,"Hello World!\n");
return 0;
}