函数指针
定义:函数指针是一个指针,指针指向的是一个函数。
写法:void (*func)(int, int);
用法:
#include <unistd.h>
#include <stdio.h>
void(*callback_t)(int event_id);
void func(int event_id)
{
printf("event_id: %d\n", event_id);
}
int main(int argc, char const *argv[])
{
callback_t = fun;
callback_t(1);
return 0;
}
也可以用typedef来定义一个新的类型,然后像普通类型int、char一样的使用,例如:
#include <unistd.h>
#include <stdio.h>
typedef void(*callback_t)(int event_id);
void func(int event_id)
{
printf("event_id: %d\n", event_id);
}
int main(int argc, char const *argv[])
{
callback_t c = fun;
c(1);
return 0;
}
指针函数
定义:指针函数是一个函数,函数的返回值是一个指针。
写法:char *func(int, int);