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

疫情最新进展seo怎样

疫情最新进展,seo怎样,佛山网站建设的市场,在线个人资料制作网站前言:小伙伴们又见面啦,今天我们来讲解一个将函数,指针,数组这三个C语言大将整合在一起的知识——函数指针数组。同时来告诉小伙伴们我们上一篇文章的伏笔——函数指针的具体用法。 目录 一.什么是函数指针数组 二.函数指针数组…

前言:小伙伴们又见面啦,今天我们来讲解一个将函数,指针,数组这三个C语言大将整合在一起的知识——函数指针数组。同时来告诉小伙伴们我们上一篇文章的伏笔——函数指针的具体用法


目录

一.什么是函数指针数组

二.函数指针数组的形式

三.函数指针数组的使用

四.总结


一.什么是函数指针数组

我们前边已经学习过了函数指针,也学习过指针数组,那么什么是函数指针数组呢???

这里要告诉大家,只要哪个名词在最后,就说明它的本质是这个名词,所以函数指针数组的本质,就是一个数组。而这个数组存放的是什么东西呢——函数指针

二.函数指针数组的形式

OK,那么已经知道了函数指针数组是什么东西之后,我们来思考一下怎么来表示它。

这个其实简单,它是一个数组,是一个存放函数指针类型的数组,我们参考之前讲过的函数指针和指针数组的表示方法,得出函数指针数组的形式为:

void (* arr[])(void ,void) = { };

 arr[]代表它是数组把arr[]去掉,剩下的void (*)(void , void)则表示其存放的类型为函数指针

三.函数指针数组的使用

OK,现在我们已经清楚了函数指针数组的形式,那么该怎么具体使用它呢???

假设我们现在要写一个代码模拟实现计算器的加、减、乘、除

#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");printf("********************************\n");
}
int main()
{int a;int b;int input;int ret;do {Menu();printf("请选择->:");scanf("%d", &input);switch (input){case 1:printf("请输入两个运算数:");scanf("%d %d", &a, &b);ret = Add(a, b);printf("%d\n", ret);break;case 2:printf("请输入两个运算数:");scanf("%d %d", &a, &b);ret = Sub(a, b);printf("%d\n", ret);break;case 3:printf("请输入两个运算数:");scanf("%d %d", &a, &b);ret = Mul(a, b);printf("%d\n", ret);break;case 4:printf("请输入两个运算数:");scanf("%d %d", &a, &b);ret = Div(a, b);printf("%d\n", ret);break;case 0:printf("退出计算器\n");break;default:printf("输入错误,请重新输入:\n");break;}} while (input);return 0;
}

我们将四则运算写成函数形式,并通过do-while循环和switch-case语句来实现计算器的加、减、乘、除功能。

但是我们能看出,这样的写法是不是太过于繁琐,很多语句都重复使用了很多次。

我们已经把四则运算写成了函数,而且我们也知道怎么用指针调用函数,那么我们现在是不是可以考虑:将这些函数全放在一个数组中,在通过数组去调用是不是更加的简洁方便呢???

下面我们就用函数指针数组来实现一下:

#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");printf("********************************\n");
}
int main()
{int a;int b;int input;int ret;int(*Calarr[])(int, int) = { NULL,&Add,&Sub,&Mul,&Div };do {Menu();printf("请选择->:");scanf("%d", &input);if (input == 0){printf("退出计算器\n");}else if (input >= 1 && input <= 4){printf("请输入两个操作数:");scanf("%d %d", &a, &b);ret = Calarr[input](a, b);//调用printf("%d\n", ret);}else{printf("输入错误,请重新输入:\n");}} while (input);return 0;
}

来看用函数指针数组来实现。

我们将四个函数的地址都通过函数指针来保存在数组中,但是我们知道,数组的下标是从0开始的,那么我们希望选择的数字和计算器选择数达成一致,便在数组下标为0的位置放一个NULL空指针。这时候我们的输入数input就可以帮助我们从数组中调用对应的函数来实现运算。

这样的代码是不是比上边的简单整洁多了。

当我们想要同时管理多个函数时,便可以使用函数指针数组,这便是函数指针数组的实际用法。

四.总结

函数指针数组有关的知识和用法的讲解到这里就结束啦。其实这部分内容还是很好理解哒。

最后不要忘记一键三连呀!

我们下期再见!

http://www.15wanjia.com/news/35273.html

相关文章:

  • 信息时代网站建设的重要性网络推广优化平台
  • 广州工作室做网站北京seo排名收费
  • 来个网站急急急2021年深圳网络推广外包公司
  • 中国城乡建设厅网站关键词分词工具
  • 做家电维修网站谷歌浏览器官网
  • 安徽建设工程信息网平台泰安网站seo推广
  • 无备案网站可以做百度推广企业推广软文范文
  • 西安教育平台网站建设百度推广有哪些推广方式
  • 做网站用什么源码好百度统计平台
  • 成都网站建设销售资源搜索引擎搜索神器网
  • 网站开发职能广州网络推广公司排名
  • 四方坪网站建设百度公司总部地址
  • 创意网站 案例 下载seo网站优化服务合同
  • 易语言 wordpress上海搜索排名优化公司
  • 青岛网站建设市场分析信阳seo推广
  • 织梦网站怎么做下载地址站长工具网址查询
  • 青岛哪家网站建设好百度提交网址入口
  • 企业网站建设训今天新闻头条最新消息
  • web网站开发实训报告seo网络推广师招聘
  • 成都设计公司怎么选新乡seo推广
  • 淄博知名的做网站推广怎么推广平台
  • 怀柔青岛网站建设网页设计素材
  • 做窗帘什么网站天津疫情最新情况
  • w微信网站开发网络营销的发展前景
  • 一个新的网站开发语言百度指数使用方法
  • wordpress nova 汉化淘宝seo是什么意思
  • 优秀的网站有哪些内容市场营销实务
  • 上海易雅达网站建设公司怎么样百度竞价广告点击器
  • 电子商务网站建设商城网站企业推广的渠道有哪些
  • 苏州网站定制公司什么平台可以做引流推广