注意,在c99里函数名就是函数首地址,为函数指针;
回调函数:通过函数指针调用的函数;
typedef void (*pfun)(int data);
定义了一种pfun的类型,并定义这种类型为指向某种函数的指针,这种函数以一个int为参数并返回void类型。
void myfun(int data)
{
printf("get data:%d\n",data);
}
int main(int argc,char *argv[])
{
pfun p= myfun; //函数指针指向执行函数的地址
p(100);
return 0;
}
这里面的pfun代表的是函数的类型,通过pfun来代表void (*)(int)函数类型即pfun是指针函数的别名,pfun p相当于定义了一个
void (*p)(int)函数指针。p = myfun可以理解为将函数指针p指向myfun函数的地址,p(100);相当于执行myfun(100);
https://www.cnblogs.com/Linux5500/p/10698741.html
https://blog.csdn.net/weixin_39939425/article/details/90298435