#include <stdio.h> //回调函数: //回调函数就是一个通过函数指针调用的函数。 //如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。 //函数指针: //void (*p)(void); 指向一个参数和返回值均为空的函数指针 //void (*p)(int, int); 指向有两个整型参数,返回值为空的函数指针 //char (*p)(int); 指向参数为整型,返回值为字符型的函数指针 //void *(*p)(int*); 指向void *fan(int *a)这样的函数 //函数指针的赋值: //p = fan; 让指针p指向fun整个函数 void fun1(void) { printf("It's function 1.\n"); } void fun2(void) { printf("It's function 2.\n"); } int main(int argc, char* argv[]) { void (*p)(void); p = fun1; //让指针p指向fun整个函数 (*p)(); //运行函数指针 p(); //运行函数指针的简化写法 return 0; } //1.声明函数 //2.声明相同类型的函数指针 //3.将函数的值赋给函数指针 //4.运行函数指针
注:
在软件分层时经常用到回调函数。