一个简单的回调函数的例子


#include <stdio.h>

typedef void( *T_SIMPLE_CALLBACK )( void );	//简单的回调函数的类型定义

typedef unsigned int( *T_FULL_CALLBACK )( unsigned int paral ,unsigned int para2);	//完整的回调函数的类型定义

void simple_callback( void )
{
	printf("=====simple_callback====\n");
}

unsigned int full_callback( unsigned int para1 ,unsigned int para2)
{
	printf("=====full_callback====\n");
	printf("=====para1:%d,para2:%d====\n",para1,para2);

	return para1+para2;
}

void test_simple_callback(T_SIMPLE_CALLBACK p_simple_callback)
{
	printf("=====test_simple_callback begin====\n");

	if(p_simple_callback)
	{
		(*p_simple_callback)();	//简单回调函数被调用
	}
	else
	{
		printf("=====no callback====\n");
	}

	printf("=====test_simple_callback end====\n");
}

void test_full_callback(T_FULL_CALLBACK p_full_callback ,unsigned int para2)
{
	unsigned int ret_callback;
	unsigned int para1;
	para1 = 100;

	printf("=====test_full_callback begin====\n");

	if(p_full_callback)
	{
		ret_callback = (*p_full_callback)(para1,para2);	//完整回调函数被调用
		printf("=====%d+%d=%d====\n",para1,para2,ret_callback);
	}
	else
	{
		printf("=====no callback====\n");
	}

	printf("=====test_full_callback end====\n");
}


int main(int argc,char **argv)
{
	//T_SIMPLE_CALLBACK p_simple_callback = 0;
	T_SIMPLE_CALLBACK p_simple_callback = simple_callback;
	T_FULL_CALLBACK	p_full_callback = full_callback;

	printf("=====main begin====\n");

	test_simple_callback(p_simple_callback);
	test_full_callback(p_full_callback,200);

	printf("=====main end====\n");

	return 0;
}


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值