1.无参数的回调函数
int Callback_1() // Callback Function 1
{
printf("Hello, this is Callback_1 ");
return 0;
}
int Handle(int (*Callback)())
{
printf("Entering Handle Function. ");
Callback();
printf("Leaving Handle Function. ");
}
int main()
{
printf("Entering Main Function. ");
Handle(Callback_1);
printf("Leaving Main Function. ");
return 0;
}
结果:
Entering Main Function.
Entering Handle Function.
Hello, this is Callback_1
Leaving Handle Function.
Leaving Main Function.
2.有参数的回调函数
#include<stdio.h>
int Callback_1(int x) // Callback Function 1
{
printf("Hello, this is Callback_1: x = %d ", x);
return 0;
}
int Handle(int y, int (*Callback)(int))
{
printf("Entering Handle Function. ");
Callback(y);
printf("Leaving Handle Function. ");
}
int main()
{
int a = 2;
printf("Entering Main Function. ");
Handle(a, Callback_1);
printf("Leaving Main Function. ");
return 0;
}
结果:
Entering Main Function.
Entering Handle Function.
Hello, this is Callback_1: x = 2
Leaving Handle Function.
Leaving Main Function.