callback函数

回调函数通俗的解释:
普通函数:你所写的函数调用系统函数,你只管调用,不管实现。
回调函数:系统调用你所写的函数,你只管实现,不管调用。
以下是使用C语言实现回调函数的一个例子:
代码:

[cpp]view plain copy

  1. #include
  2. void PrintNum(int n);
  3. void ShowNum(int n,void (* ptr)());
  4. void PrintMessage1();
  5. void PrintMessage2();
  6. void PrintMessage3();
  7. void ShowMessage(void (* ptr)());
  8. int main(){
  9. ShowNum(11111,PrintNum);
  10. ShowNum(22222,PrintNum);
  11. ShowMessage(PrintMessage1);
  12. ShowMessage(PrintMessage2);
  13. ShowMessage(PrintMessage3);
  14. }
  15. void PrintNum(int n){
  16. printf("Test1 is called,the number is %d\n",n);
  17. }
  18. void ShowNum(int n,void (* ptr)()){
  19. (* ptr)(n);
  20. }
  21. void PrintMessage1(){
  22. printf("This is the message 1!\n");
  23. }
  24. void PrintMessage2(){
  25. printf("This is the message 2!\n");
  26. }
  27. void PrintMessage3(){
  28. printf("This is the message 3!\n");
  29. }
  30. void ShowMessage(void (* ptr)()){
  31. (* ptr)();
  32. }

运行结果: 【callback函数】callback函数
文章图片

    推荐阅读