事件注册及回调函数
(理解可能有误,请给位给予指正,谢谢)
test_event为需要注册执行的函数,在主函数执行注册在通过执行函数调用另一个文件中公共的以声明的函数指针来实现函数的执行。
#include "callback.h"
void test_event(int a)
{
if(a>5)
{
printf("give me five");
}else
{
printf("give me six");
}
}
int main()
{
int event = 0;
Registe_callback (test_event);
printf("Enter number :");
scanf("%d",&event);
administer_function(event);
}
#ifndef __CALLBACK_H__
#define __CALLBACK_H__
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
typedef void (* test_callback)(int a);
void Registe_callback (test_callback callback);
void administer_function(int event);
#endif
#include "callback.h"
test_callback p_callback;
// 此部分实现事件注册将函数与其执行部分相连接
void Registe_callback (test_callback callback)
{
p_callback = callback;
}
//此部分去真正执行函数
void administer_function(int event)
{
p_callback(event);
}