从事嵌入式软件开发,总是很好奇,别人的回调函数怎么实现的,第一次接触时就很不理解,今天终于有时间看一下,结果也是十分简单。直接上代码。
PS:和实际使用的好像还不太一样,后期学到了再完善一下
#include "stdio.h"
/**********************************************/
void test1(void)
{
int i=0;
for(i=0;i<10;i++)
{
printf("i=%d\r\n",i);
}
}
void callback(void (*fun)() )
{
(*fun)();
}
/**********************************************/
void test2(int i)
{
for(i;i<10;i++)
{
printf("i=%d\r\n",i);
}
}
void callback_para(void (*fun)(), int i )
{
(*fun)(i);
}
/**********************************************/
int test3(void)
{
return 10;
}
int callback_return(int (*fun)())
{
return (*fun)();
}
/**********************************************/
int main(void)
{
printf("************************\n");
callback(test1);
printf("************************\n");
callback_para(test2,3);
printf("************************\n");
printf("test3=%d\r\n",callback_return(test3));
printf("************************\n");
}