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

成都seo网站建设用wordpress做商城

成都seo网站建设,用wordpress做商城,网站制作要学哪些,广东省广州市佛山市#x1f3ac; 鸽芷咕#xff1a;个人主页 #x1f525; 个人专栏:《C语言初阶篇》 《C语言进阶篇》 ⛺️生活的理想#xff0c;就是为了理想的生活! 文章目录 #x1f4cb; 前言#x1f4ac; 函数指针数组#x1f4ad; 函数指针数组的定义#x1f4ad; 函数指针数组的… 鸽芷咕个人主页 个人专栏:《C语言初阶篇》 《C语言进阶篇》 ⛺️生活的理想就是为了理想的生活! 文章目录 前言 函数指针数组 函数指针数组的定义 函数指针数组的应用 —— 转移表 代码改进 指向函数指针数组的指针 回调函数 利用回调函数进行代码改进 全篇总结 前言 hello 各位宝子们大家好啊上节课我们学习了函数指针而函数指针有一个非常大的用途就是实现回调函数   ⛳️在了解回调函数之前我们还需要学习一下函数指针数组的概念   本期文章收录在《C语言进阶篇》大家有兴趣可以看看呐   ⛺️ 欢迎铁汁们 ✔️ 点赞 收藏 ⭐留言 注VS2022 等C语言学习工具都在《学习工具专栏》, 还有各种实用调试技巧有兴趣可以去看看 函数指针数组 ⛳️既然我们有指针数组的概念那么函数本身也是一个地址啊函数指针数组 和 指针数组只不过多了函数俩字 那么函数指针数组该如何定义呢 函数指针数组的定义 ⛳️假设我们要写一个计算器加减乘除4个部分的函数但是函数参数都是一样的。想把他放到一个函数指针数组里面该怎么办呢 函数指针我们知道怎么定义但是加了数组俩字该怎么定义呢? 代码演示 #include stdio.hint Sum(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; }int main() {int (*pf1)(int, int) Sum;int (*pf2)(int, int) Sub;int (*pf3)(int, int) Mul;int (*pf4)(int, int) Div;//函数指针数组int (*pfArr[4])(int, int) {Sum,Sub,Mul,Div};return 0; }大家看函数指针数组就是这样定义的由于【】号的结合性比 * 号高所以 pfArr就先和【】号结合所以pfArr[ 4 ] 表示这个指针是个数组。 * 号则代表pfArr[ 4 ] 是个指针int(*)(int , int ) 代表了他是个函数指针类型的所以 nt (*pfArr[4])(int, int) 是函数指针数组类型的 函数指针数组的应用 —— 转移表 前面写的计算器如果按照我们以前思路写的代码会非常冗余那么我们学了函数指针数组有没有可能吧代码优化下嘛? 这时就要用到函数指针数组的应用 —— 转移表了我们来看一下 未改变前 #include stdio.hint Sum(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);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 Sum(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; }代码改进 这里我们就带代码进行了改进使得main() 函数里面代码量大大减少。 这里由于我们选择时的数字要和数组下标一样所以我们填充一个空指针 NULL 让每个数组下标和我们的操作数对应 #include stdio.h int Sum(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);printf(***********************\n); } int main() {int input 0;int x 0;int y 0;int ret 0;do{menu();printf(请输入-);scanf(%d, input);//函数指针数组 —— 转移表int(*pfArr[5])(int, int) {NULL ,Sum,Sub,Mul,Div};if (input 1 input 4){printf(请输入操作数);scanf(%d %d, x, y);ret pfArr[input](x, y);printf(%d\n, ret);}else if (input 0){return 0;}else{printf(选择错误请重新输入;\n);}} while (input);return 0; }指向函数指针数组的指针 这里我们又进行了一遍套娃指针数组既然我们能接收那么。有没有指向函数指针数组的指针呢?答案是有的。 数组指针类型 int (*p)[ 5 ] 函数指针类型 int (*pf)(int, int) 函数指针数组类型 int (*pf [ 5 ])(int, int) 指向函数指针数组的指针 int (*(*pf)[ 5 ])(int, int) 这里我们可以怎么样理解呢首先在指向函数指针数组的指针不要硬写在我们函数指针数组的类型上进行改变 函数指针数组类型 int (*pf [ 5 ])(int, int) 我们首选需要一个指向函数指针数组的指针那么pf 就不能和左边的 * 结合 因为 int (* [ 5 ])(int, int) 代表了函数指针数组类型而我们想要接收他就需要一个指针 *pf那么把它括起来就是指向函数指针数组的指针了int (*(*pf)[ 5 ])(int, int) 代码演示 回调函数 ⛳️回调函数就是一个通过函数指针调用的函数。如果你把函数的指针地址作为参数传递给另一个函数当这个指针被用来调用其所指向的函数时我们就说这是回调函数。回调函数不是由该函数的实现方直接调用而是在特定的事件或条件发生时由另外的一方调用的用于对该事件或条件进行响应。 怎么应用呢函数指针的应用其实就是回调函数我们前面改进计算器的的时候用函数指针数组进行改进那么我们下面就对计算器用回调函数的方式进行改进 回调函数我的理解就是通过函数指针的方式接收函数的地址从而调用它。让一个函数可以调用多个同类型的函数的功能在特定的情况给我传输函数地址从而使用它。 上面计算器的实现用switch 语句实现的时候每一个case语句都是相同的除了函数的实现方法不同。这样就导致代码过于冗余 而这我们就可以用一个回调函数进行改进让这些代码都在一个函数里面。每次使用那个函数直接传送给我们的地址就行了 代码演示 这样铁汁们看是不是就避免的代码冗余的问题我们只需要把函数地址传过来就可以了输入什么选择就传什么函数从而去调用他 void calc(int (*pf)(int x, int y)) {int x 0;int y 0;printf(请输入操作数;);scanf(%d %d, x, y);int ret pf(x, y);printf(%d\n, ret); }利用回调函数进行代码改进 代码演示 #include stdio.h int Sum(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);printf(***********************\n); } void calc(int (*pf)(int x, int y)) {int x 0;int y 0;printf(请输入操作数;);scanf(%d %d, x, y);int ret pf(x, y);printf(%d\n, ret); } int main() {int input 0;do{menu();printf(请输入-);scanf(%d, input);switch (input){case 1:calc(Sum);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; }全篇总结 ✅ 归纳 好了以上就是回调函数的使用和讲解以及函数指针数组的概念大家好好理解一下吧   函数指针数组   函数指针数组的使用   回调函数的概念   回调函数的应用 ☁️ 好了今天的知识全是干货不知道各位铁汁们学到了没有呢快拿去用吧 看到这里了还不给博主扣个 ⛳️ 点赞☀️收藏 ⭐️ 关注 ❤️ 拜托拜托这个真的很重要 你们的点赞就是博主更新最大的动力 有问题可以评论或者私信呢秒回哦。
http://www.hkea.cn/news/14448801/

相关文章:

  • 苏州网站建设风兰怎么用网页源码做网站
  • 建设文明网站包括那个网站可以做双色球号码对比的
  • 金融网站模版下载遵义市建设局网站官网
  • 四川省建设招标网站首页深圳网页设计与制作本科工资多少钱
  • 做外贸网站哪家公司好雅安做网站
  • 在线网站建设费用是多少怎么让公司地址在地图显示
  • 微信网站建设平台海南网站搭建
  • 上虞网站建设哪家好找做企业网站
  • 网站分站原理南京网站制作希丁哥
  • 如何做网站宣传片上海传媒公司介绍
  • 怎么修改网站标题关键词描述wordpress虚拟储存
  • 口碑好的免费网站建设wordpress 安卓主题下载失败
  • 混合式教学财务管理网站建设php网站优点
  • 深圳营销型网站建设设计公司中盛客户管理软件
  • 做挂件的网站WordPress很快退出
  • 没有公司做网站犯法吗镇江专业网站制作公司
  • 做最好的整站模板下载网站iis 建立子网站
  • 微信网站建设和维护报价表免费公司网站如何建立设计
  • 做网站哪里买空间好网站服务建设公司
  • 做老师一些好的网站ios软件开发教程
  • 网站图片上传不了怎么办免费开店无押金的平台
  • vs做网站图片明明在文件夹里却找不到wordpress数据库密码解密
  • 哪个博客可以做单页网站短视频推广平台有哪些
  • 外包网站都有哪些网站jianshe
  • 网站建设优化是什么鬼医院网站怎么做运营
  • 广州网站开发小程序wordpress 手机站插件
  • 响应式网站建设开发公司神马seo排名关键词点击
  • 安康公司网站制作镇江网站建设网站制作公司
  • 做网站的是什么软件html5网站设计欣赏
  • 海口房地产网站建设商业设计要点