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

毕设什么类型网站容易做重庆小潘seo

毕设什么类型网站容易做,重庆小潘seo,做网站页面怎么做,wordpress网购插件c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话: 知不足而奋进,望远山而前行&am…

9efbcbc3d25747719da38c01b3fa9b4f.gif

 c语言中的小小白-CSDN博客c语言中的小小白关注算法,c++,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm=1001.2014.3001.5343

给大家分享一句我很喜欢我话:

知不足而奋进,望远山而前行!!!

铁铁们,成功的路上必然是孤独且艰难的,但是我们不可以放弃,远山就在前方,但我们能力仍然不足,所有我们更要奋进前行!!!

今天我们更新了回调函数内容,

🎉 欢迎大家关注🔍点赞👍收藏⭐️留言📝

一、回调函数是什么

我们先来看一下回调函数的最基本概念:

回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。

光看这个概念我们可能会觉得这个东西过于抽象,下面我们用一幅图来展示一下什么是回调函数,

假设我们要使用一个排序函数来对数组进行排序,那么在主程序(Main program)中,我们先通过库,选择一个库排序函数(Library function)。但排序算法有很多,有冒泡排序,选择排序,快速排序,归并排序。同时,我们也可能需要对特殊的对象进行排序,比如特定的结构体等。库函数会根据我们的需要选择一种排序算法,然后调用实现该算法的函数来完成排序工作。这个被调用的排序函数就是回调函数(Callback function)。

结合这幅图和上面对回调函数的解释,我们可以发现,要实现回调函数,最关键的一点就是要将函数的指针传递给一个函数(上图中是库函数),然后这个函数就可以通过这个指针来调用回调函数了。注意,回调函数并不是C语言特有的,几乎任何语言都有回调函数。在C语言中,我们通过使用函数指针来实现回调函数。

我的理解是:把一段可执行的代码像参数传递那样传给其他代码,而这段代码会在某个时刻被调用执行,这就叫做回调。

如果代码立即被执行就称为同步回调,如果过后再执行,则称之为异步回调。

回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。

回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。

二、为什么要使用回调函数

因为可以把调用者与被调用者分开,所以调用者不关心谁是被调用者。它只需知道存在一个具有特定原型和限制条件的被调用函数。

简而言之,回调函数就是允许用户把需要调用的方法的指针作为参数传递给一个函数,以便该函数在处理相似事件的时候可以灵活的使用不同的方法。

回调似乎只是函数间的调用,和普通函数调用没啥区别。

但仔细看,可以发现两者之间的一个关键的不同:在回调中,主程序把回调函数像参数一样传入库函数。

这样一来,只要我们改变传进库函数的参数,就可以实现不同的功能,这样有没有觉得很灵活?并且当库函数很复杂或者不可见的时候利用回调函数就显得十分优秀。

三、回调函数实际应用例子

下面我们来举一个回调函数的例子,这个例子是一个一个可以计算加法减法等,

下面我们先来看一下代码,

#define _CRT_SECURE_NP_WARNINGS#include<stdio.h>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("********0.exit       *******\n");
}void calc(int (*pf)(int, int)) {int x = 0, 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();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:break;default:printf("输入错误,请重新选择。");break;}} while (input);return 0;
}

这便是一个计算器的代码,当这串代码运行之后,是一个这样的界面:

我们可以选择是进行加法还是减法或者其他的运算,

其中的calc函数便通过指针进行对add等函数的调用,这便是一个简单的回调函数的例子。

http://www.ds6.com.cn/news/3104.html

相关文章:

  • 购物网站建设成本今日军事头条
  • cms网站是什么意思厦门网站seo
  • WordPress邮箱收集插件合肥关键词优化平台
  • 网站建设中要尽量使用图片广东seo推广费用
  • 做网站实训报告互联网推广是做什么的
  • 那家b2c网站建设报价中企动力做网站推广靠谱吗
  • 海口网站建设兼职十大洗脑广告
  • 做网站运营工作有前景吗吉安seo网站快速排名
  • 网上兼职做网站编辑东莞发布最新通告
  • 海南网站建设公司新闻热点素材
  • webpack 网站搜狗快速收录方法
  • 奥运会网站制作促销策略
  • 网站建设公司架构下载微信
  • 专做自驾游的网站seo是什么意思广东话
  • 房屋结构自建设计 网站西安seo网络优化公司
  • wordpress 相册 不显示图片青岛网站seo优化
  • 常州网站价格郑州做网站
  • 设计方案的格式范文seo综合
  • 网站建设金网科技百度精准推广
  • 河北高端建设网站百度移动权重
  • 智慧团建网页版手机登录网络营销乐云seo
  • 免费做网站的软件温州网站建设开发
  • 徐州网站开发怎样免费发布友链
  • 网站建设实例大制作百度竞价排名利弊
  • 怎样才能增加网站怎么自己制作一个网站
  • 河北网站建设价格自媒体怎么做
  • 手机网站设计网站流量统计工具有哪些
  • 重庆网站建设公司那好网络推销
  • mac系统可以做数据库网站开发windows优化大师是什么软件
  • 焦作 网站建设seo学校培训课程