void func()
{
printf("I love you \n");
}
void caller(void(*ptr)())
{
printf("My name is callback\n");
ptr();
}
int abc(int a)
{
printf("a = %d\n", a);
return a;
}
int caller1(int(*qtr)(int))
{
printf("I am callback\n");
int b = 9;
return qtr(b);
}
int main(void)
{
void (*p) ();//申明p是指向某個指向沒有參數,沒有返回值的函數指針
int (*q)(int);//申明q是指向某個有一個int型參數,返回值爲int型的函數指針
int m;
p = func;//賦值
q = abc;//賦值
caller(p);//回調函數
m = caller1(q);//回調函數
printf("m = %d\n", m);
return 0;
}