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

黑龙江建设网站招聘自学网站建设哪些网站

黑龙江建设网站招聘,自学网站建设哪些网站,万方网官网入口,域名更换网站文章目录#x1f4c0;8.指向函数指针数组的指针#x1f4c0;9.回调函数#x1f4c0;8.指向函数指针数组的指针 #x1f330;请看代码与注释#x1f447; int Add(int x, int y) {return x y; } int Sub(int x, int y) {return x - y; } int main() {int (*pf)(int, int… 文章目录8.指向函数指针数组的指针9.回调函数8.指向函数指针数组的指针 请看代码与注释 int Add(int x, int y) {return x y; } int Sub(int x, int y) {return x - y; } int main() {int (*pf)(int, int) Add;//函数指针数组int (*pfArr[4])(int, int) { Add,Sub };int (*(*ppfArr)[4])(int, int) pfArr;//ppfArr 是一个指向函数数组的指针return 0; }9.回调函数 回调函数就是一个通过函数指针调用的函数。如果你把函数的指针地址作为参数传递给另一个函数当这个指针被用来调用其所指向的函数时我们就说这是回调函数。回调函数不是由该函数的实现方直接调用而是在特定的事件或条件发生时由另外的一方调用的用于对该事件或条件进行响应。 举个例子 还是一个简易计算器 int Add(int x, int y) {return x y; } int Sub(int x, int y) {return x - y; } int Mul(int x, int y) {return x * y; } int Div(int x, int y) {return x / y; } void menu() {printf(****************************************\n);printf(****** 1.add 2.sub *******\n);printf(****** 3.mul 4.div *******\n);printf(****** 5.exit *******\n);printf(****************************************\n); } int main() {int input 0;int x 0;int y 0;int ret 0; do{menu();printf(请选择:);scanf(%d, input);switch (input){case 1:printf(请输入两个操作数:);scanf(%d %d, x, y);ret Add(x, y);printf(%d\n, ret);break;case 2:printf(请输入两个操作数:);scanf(%d %d, x, y);ret Sub(x, y);printf(%d\n, ret);break;case 3:printf(请输入两个操作数:);scanf(%d %d, x, y);ret Mul(x, y);printf(%d\n, ret);break;case 4:printf(请输入两个操作数:);scanf(%d %d, x, y);ret Div(x, y);printf(%d\n, ret);break;case 0:printf(退出计算器\n);break;default:printf(选择错误\n);break;}} while (input);return 0; } ☝️虽然可以很好的运行出来但是看一下这段代码是不是有些冗余 大部分代码都是重复的只有调用执行 - * / 运算的时候不一样那么我们可不可以把这每段重复的部分封装成一个函数呢❓ 我们来进行优化改装一下 void Calc(int(*pf)(int, int)) {int x 0;int y 0;int ret 0;printf(请输入两个操作数:);scanf(%d %d, x, y);ret pf(x, y);printf(%d\n, ret); }我们把每次输入输出 执行运算封装成这样的一个函数只保留一个使用函数指针来接收 优化后的源码 #includestdio.hint Add(int x, int y) {return x y; } int Sub(int x, int y) {return x - y; } int Mul(int x, int y) {return x * y; } int Div(int x, int y) {return x / y; } void menu() {printf(****************************************\n);printf(****** 1.add 2.sub *******\n);printf(****** 3.mul 4.div *******\n);printf(****** 5.exit *******\n);printf(****************************************\n); } void Calc(int(*pf)(int, int)) {int x 0;int y 0;int ret 0;printf(请输入两个操作数:);scanf(%d %d, x, y);ret pf(x, y);printf(%d\n, ret); } int main() {int input 0;do{menu();printf(请选择:);scanf(%d, input);switch (input){case 1:Calc(Add);break;case 2:Calc(Sub);break;case 3:Calc(Mul);break;case 4:Calc(Div);break;case 0:printf(退出计算器\n);break;default:printf(选择错误\n);break;}} while (input);return 0; } 可能有那么一点点复杂希望烙铁们能够理解‼️ 总结 以上就是 指针的进阶【下篇】 内容啦 本文章所在【C语言知识篇】专栏感兴趣的烙铁可以订阅本专栏哦 希望我们可以做一个用心的人 小的会继续学习继续努力带来更好的作品 创作写文不易还多请各位大佬uu们多多支持哦
http://www.hkea.cn/news/14350034/

相关文章:

  • 深圳app网站设计wordpress默认主题twenty
  • 简约淘宝网站模板免费下载重庆网站推广网络推广
  • 关于做公司官方网站域名申请超炫网站欣赏
  • 做网站诈钱合肥网站搜索引擎优化
  • 省级别网站建设方案免费的app推广平台
  • 做网站的相关教程wordpress 静态发布
  • 公司网站开发费账务处理软件编程入门自学教程
  • 高端营销型网站拓者设计吧官网图片
  • 调用wordpress栏目列表页seo搜索优化待遇
  • 专业做网站报价安居客网官网入口
  • 帮建网站的人ps做网站首页设计教程
  • 做图素材网站开哪个vip好详情页模板素材
  • 营销型网站建设排名优化百度网站
  • 免费做mc皮肤网站龙岗网站设计案例
  • 建设银行官方网站个人注册新公司流程和资料
  • 网站建设工作总结培训锦州网站优化
  • 酒店网站建设案例室内装饰设计平面图
  • 为什么要建设应急管理网站html5旅游网站源码
  • 漳州专业网站建设费用互联网大厂名单
  • 网站下载端口建设北京建设高端网站的
  • 加快网站平台建设网站建设亇金手指专业
  • 江西网站建设价位中国建设平台官网
  • 接推广网站鞍山网站网站建设
  • 长春 网站建设网络推广网页设计推广 外贸 网站
  • 关于宠物的网站网页设计小公司做网站需要
  • 主页网站建设做简单的html网站
  • php中做购物网站的教程网站你懂我意思正能量晚上在线观看不用下载免费魅族
  • 电子商务网站建设系统功能18款免费软件app下载推荐
  • 公司互联网站全面改版自媒体时代做网站有前途吗
  • 网站登录模版互动营销公司