当前位置: 首页 > news >正文

开展门户网站建设免费搭建网页游戏平台

开展门户网站建设,免费搭建网页游戏平台,开放平台的核心目的是,正规手游代理平台有哪些回调函数是非常重要的概念 文章目录1 函数的类型2 函数指针2.1 函数指针的使用2.2 使用函数指针实现回调函数3 总结1 函数的类型 跟以前学数组的时候是一样的#xff0c;C语言中的数组是有自己的类型的。函数也是有自己的类型的。 函数的类型由返回值、参数的类型、参数的个… 回调函数是非常重要的概念 文章目录1 函数的类型2 函数指针2.1 函数指针的使用2.2 使用函数指针实现回调函数3 总结 1 函数的类型 跟以前学数组的时候是一样的C语言中的数组是有自己的类型的。函数也是有自己的类型的。 函数的类型由返回值、参数的类型、参数的个数共同决定 比如函数int add(int i, int j); 的函数类型是int (int, int) 在C语言中可以使用typedef为函数重命名如下 typedef int f(int, int); // 定义f为函数类型int(int, int)typedef void p(int); // 定义p为函数类型void(int)上面定义函数类型一会再后面写具体的代码就会明白。 2 函数指针 与数组指针很相似 函数指针用于指向一个函数函数名执行函数体的入口地址(这里与数组指针一样数组名代表数组的入口地址)可以通过函数的类型定义函数指针FuncType* pointer例如上面定义的f那么f* p; p指向函数类型为f的函数。也可以直接定义这种我们见到的比较多type (*pointer)(parameter list) 上面 FuncType 是一种函数类型例如int (int, int)type是函数的返回类型pointer是函数指针parameter list 是函数的参数列表 2.1 函数指针的使用 下面代码是演示定义函数类型与如何使用函数指针的代码 36-1.c #include stdio.htypedef int FUNC(int); //定义函数类型int t(int i){return i*i; }void f(){printf(Call f()....\n); }int main(){FUNC* pt t; //定义函数指针ptvoid(*pf)() f; //定义函数指针pfprintf(pf %p\n, pf);printf(f %p\n, f);printf(f %p\n, f);pf(); //一般这么用(*pf)(); //一般不这么用f();int k pt(3);printf(k %d\n, k);return 0; }运行结果为 上面代码比较简单我们注意两点 typedef int FUNC(int); //定义函数类型FUNC* pt t; //定义函数指针ptvoid(*pf)() f; //定义函数指针pf函数名f代表函数的入口地址f代表函数的整个地址类似于数组所以在数值上f与f是相等的。但是意义不一样。函数指针的使用pf(); 或者 (*pf)(); 一般像前者那么使用 2.2 使用函数指针实现回调函数 如何使用C语言直接跳转到某个固定的地址开始执行不是goto 使用回调函数回调函数是一种很重要的思想。那么什么是回调机制呢 回调机制原理 调用者不知道具体事件发生时需要调用哪一个具体的函数 是不是与C中的多态很像是的C中的多态原理就是这样当具体的事件发生的时候 调用者通过函数指针调用具体的函数。是不是很像C中的虚函数指针 回调机制中的调用者和被调用者没有依赖关系 上面的理论看起来并不是很容易让人理解下面直接上手写代码就知道什么是回调函数了。 代码 36-2.c #include stdio.htypedef int (Fruit)(int); //定义Fruit为int(int)类型的函数 参数吃多少克返回值获得多少能量void Eat(Fruit* fruit, int n){ //函数指针fruit指向吃什么水果的函数 参数n吃多少克int ret 0;printf(Eat...\n);ret fruit(n); //获得多少能量printf(Increase : %d\n, ret); }int Apple(int n){ //吃n克苹果获得ret克能量int ret 0;int i 0;for(i0; in; i){printf(Eat apple get energy : %d\n, 1);ret;}return ret; }int Banana(int n){ //吃n克香蕉获得ret克能量int ret 0;int i 0;for(i0; in; i){printf(Eat banana get energy : %d\n,3);ret3;}return ret; }int Pear(int n){ //吃n克梨子获得ret克能量int ret 0;int i 0;for(i0; in; i){printf(Eat pear get energy : %d\n,5);ret5;}return ret; } int main(){Eat(Apple, 5); //get 5 printf(\n);Eat(Banana, 2); // get 6printf(\n);Eat(Pear, 3); //get 15printf(\n);return 0; }上述代码的意思是吃水果获得能量。但是吃什么水果只有在程序运行起来之后才知道。所以吃这个动作Eat函数的参数无法指定吃哪种水果只能使用函数指针作为Eat函数的参数当程序运行起来时根据传进来的参数确定吃什么水果以及获得多少能量 上述程序编译运行结果为 分析 上面代码主要的核心就在于函数指针的使用。一定要学会函数指针的定义使用。学会使用函数指针来实现回调函数 3 总结 学会定义函数类型学会使用函数类型定义函数指针学会使用函数指针实现回调机制
http://www.pierceye.com/news/100317/

相关文章:

  • 西安网站快速优化重庆明建网络科技有限公司干啥的
  • 广州市天河区门户网站软件制作公司
  • 做网站前期创建文件夹博罗高端网站建设价格
  • 襄阳网站建设价格淄博网站推广价格
  • 网站推广的软件六安网站制作哪里有
  • 大型门户网站模板wordpress有哪些小工具
  • 有flash的网站新闻资讯app制作公司
  • 网站和平台有什么区别黄页88怎么发信息质量高
  • 阿里建站价格小户型室内装修设计公司网站
  • 建设银行网站安全性分析网络推广服务平台
  • 大型购物网站建设福建微网站建设公司
  • 做网站软件j程序员找工作网站
  • 济南网站建设系统画册设计公司宣传册
  • 上海网站设计方案家纺网站建设
  • 衡水精品网站建设游戏广告推广平台
  • 响应式企业网站建设营销战略
  • wordpress离线浏览搜索引擎优化包括
  • 门户网站建设需要多少呼伦贝尔市住房和城乡建设局网站
  • 静海集团网站建设住房城乡建设网站
  • 个人备案挂企业网站网站开发公司照片
  • 网站建设课程体会国内最新新闻简短
  • 网站开发大概价格最常用的网页制作软件
  • 商务网站模块设计时前台基础设施建设免费网站建设空间
  • 青海省公路工程建设总公司网站饮料公司网站模板
  • 建设部网站刘赵云网页版邮箱
  • 免费扑克网站企业网站怎么搜索优化
  • 做网站导航的厦门网站建设制作多少钱
  • 怎样免费注册网站域名鹤城建设集团网站
  • 3合1网站建设价格网站建设论坛快速建站
  • 怎样做钓鱼网站上海网站关键词排名优化报价