android网络游戏开发——网络通信——回调函数例子
2015-09-16 23:10
691 查看
今天把libevent大概看了一下,发现里面回调函数用的很多,特别是用在异步处理事件中,关于回调函数其实是通过函数指针来实现的,下面是我用回掉函数写的一个两个数的加减乘除的例子,这个例子能很好的说明回调函数的使用,以及使用回调函数的好处:
#include<stdio.h> #include<stdlib.h> // 运算结构体 struct count{ int num1; int num2; int (*method)(int a, int b); //函数指针 }; int addcb(int a, int b){ return a+b; } int subcb(int a, int b){ return a-b; } int mulcb(int a, int b){ return a*b; } int divcb(int a, int b){ if(b != 0){ return a/b; } return 0; } int main(){ int result = 0; struct count mycount; mycount.num1 = 12; mycount.num2 = 4; printf("hello callback num1=%d, num2=%d!\n", mycount.num1, mycount.num2); // 回调函数指针赋值 add mycount.method = addcb; result = mycount.method(mycount.num1, mycount.num2); printf("callback->add:%d\n", result); // 回调函数指针赋值 sub mycount.method = subcb; result = mycount.method(mycount.num1, mycount.num2); printf("callback->sub:%d\n", result); // 回调函数指针赋值 mul mycount.method = mulcb; result = mycount.method(mycount.num1, mycount.num2); printf("callback->mul:%d\n", result); // 回调函数指针赋值 div mycount.method = divcb; result = mycount.method(mycount.num1, mycount.num2); printf("callback->div:%d\n", result); return 0; }
相关文章推荐
- HDU 5446 2015长春站网络赛1010(数论模板题)
- http协议的理解
- Linux之网络管理
- HTTP长连接200万尝试及调优
- 【面试题】Https
- HDU 5439 Aggregated Counting (2015年长春赛区网络赛C题)
- Linux kernel过滤网络数据包
- Android第九讲——网络(四) 文件的下载(单线程下载、多线程下载)
- linux环境下的网络配置
- 网络子系统在链路层的收发过程
- Android第九讲——网络(三)HttpClient
- 网络框架 & 云端
- 计算机网络子网掩码
- Linux管道编程技术:dup函数,dup2函数,open函数详解 http://blog.csdn.net/zhouhong1026/article/details/8151235/
- Web API应用支持HTTPS的经验总结
- Linux NAT网络连接权威指南
- 查看AFnetworking网络请求时服务器返回的头部信息
- httpclient 用java调用 的方式获取网页内容,
- NOIP2014 无线网络发射器选址
- TCP/IP连接服务器备忘