回調函數

標準Hello World程序:
-------------------------------------------------------
函數

int main(int argc,char* argv[])
{    printf("Hello World!\n"); 
     return 0;
}
-------------------------------------------------------
將它修改爲回調函數(無參)樣式:
-------------------------------------------------------
//定義回調函數
void PrintfText() 
{
    printf("Hello World!\n");
}
//定義實現回調函數的"調用函數"
void CallPrintfText(void (*callfuct)())
{
    callfuct();
}

//在main函數中實現函數回調
code

int main(int argc,char* argv[])
{
    CallPrintfText(PrintfText);
    return 0;
}
--------------------------------------------------------
 修改爲帶參的回調樣式:
--------------------------------------------------------
//定義帶參回調函數
void PrintfText(char* s) 
{
    printf(s);
}
//定義實現帶參回調函數的"調用函數"
void CallPrintfText(void (*callfuct)(char*),char* s)
{
    callfuct(s);
}

//在main函數中實現帶參的函數回調get

int main(int argc,char* argv[])
{
    CallPrintfText(PrintfText,"Hello World!\n");
    return 0;
}

//返回int
回調函數

//回調函數
int maxInt(int a,int b)
{
 return a>b?a:b;
}
//被調函數
void callFun(int (*Fun)(int,int),int a,int b)
{
 printf("%d\n",Fun(a,b));
}
int _tmain(int argc, _TCHAR* argv[])
{
 callFun(maxInt,2,5);
 getchar();
 return 0;
}
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息