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

交通局网站模板泊头网站制作案例

交通局网站模板,泊头网站制作案例,wordpress增加搜索框,cms编码是什么文章目录 前言一、函数的指针二、函数指针运用 1函数名地址2指针变量调用函数3指向函数的指针变量做函数参数二、返回指针值的函数总结 前言 如果在程序中定义了一个函数#xff0c;在编译时会把函数的源代码转换为可执行代码并分配一段空间。这段空间有一个起始地址#xf…  文章目录 前言一、函数的指针二、函数指针运用 1函数名地址2指针变量调用函数3指向函数的指针变量做函数参数二、返回指针值的函数总结 前言 如果在程序中定义了一个函数在编译时会把函数的源代码转换为可执行代码并分配一段空间。这段空间有一个起始地址也称为函数的入口地址。每次调用函数时都从该地址入口开始执行此函数代码。  一、函数的指针 函数名就是函数的起始地址就是函数的指针。 二、函数指针运用 1.函数名地址 代码如下示例 int add(int x, int y) {return x y; } int main() {printf(%p, add);//打印函数地址return 0; } 打印结果为00007FF6BC9013D9 是函数地址由此可见函数名是一个地址定义指针变量可以将函数名直接赋给指针变量。 2.指针变量调用函数 代码如下示例 void swap(int*p1, int*p2) {int tmp *p1;*p1 *p2;*p2 tmp; } int main() {int arr[] { 1,2,3,4,5 };//swap(arr[1], arr[4]);  void (*pc)(int*, int*) swap;//定义指向函数的指针变量(*pc)(arr[1], arr[4]);//用指针变量调用swap函数int i 0;for (i 0; i 5; i){printf(%d , arr[i]);}return 0; } 该处可以看出swap函数的调用指针*pc对应函数名括号后面调用一样。 但是得注意定义指针变量指向函数名(也就是函数地址时定义的类型应与函数返回值类型一致后面括号里的量也应与被调函数的定义保持一致。 在给指针变量赋值时只需给出函数名无需给出函数参数。void (*pc)(int*, int*) swap; 用指针变量调用函数时只需用*pc代替函数名在*p)的括号根据需要写上实参 函数指针变量不能进行算数运算 用函数名调用函数只能调用所指定的一个函数但是用指针变量调用函数可以根据不同情况先后调用不同函数。 注意定义的pc指针只能指向参数类型为int、int返回类型为void的函数。 3、用指向函数的指针做函数参数 指向函数的指针,把函数地址作为参数传递给其它函数  用指向函数的指针做函数参数这个函数的返回值类型是一个指针参数是函数指针的参数 设计一个计算器实现加减乘除 代码如下 void print() {printf(********************************\n);printf(***** 1.add 2.sub **********\n);printf(***** 3.mul 4.div **********\n);printf(***** 0.esc ***************\n); } 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; } int main() {int a 0;int b 0;int ret 0;int input 0;print();scanf(%d, input);switch (input){case 1:printf(请输入两个数\n);scanf(%d%d, a, b);retadd(a, b);printf(%d, ret);break;case 2:printf(请输入两个数\n);scanf(%d%d, a, b);ret sub(a, b);printf(%d, ret);break;case 3:printf(请输入两个数\n);scanf(%d%d, a, b);ret mul(a, b);printf(%d, ret);break;case 4:printf(请输入两个数\n);scanf(%d%d, a, b);ret div(a, b);printf(%d, ret);break;default:printf(输入错误);break;}return 0; } 这里在case里反复重复的内容太多代码不够简洁这里add、sub、mul、div的函数参数和返回值都是同样类型的因此可定义一个指针即*p用来指向这几个函数再定义一个指针函数参数为指向这几个函数的指针即*p 代码如下  void col(int(*p)(int,int)) {int a 0;int b 0;int ret 0;printf(请输入两个数\n);scanf(%d%d, a, b);ret (*p)(a, b);printf(%d, ret); }void print() {printf(********************************\n);printf(***** 1.add 2.sub **********\n);printf(***** 3.mul 4.div **********\n);printf(***** 0.esc ***************\n); } 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; } int main() {int input 0;print();scanf(%d, input);switch (input){case 1:col(add);break;case 2:col(sub);break;case 3:col(mul);break;case 4:col(div);break;default:printf(输入错误);break;}return 0; } 这样的程序更简洁更具可读性。 三、返回指针值的函数 函数返回值是一个地址或者指针。 字符串拷贝函数  char* string_copy(char* str1, char* str2) {char* start str2;while (*str2 *str1);return start; } int main() {char arr1[] abcdef;char arr2[20] { 0 };char* ret string_copy(arr1, arr2);printf(% s\n, ret);return 0; } 如上函数的返回值是一个指针这里将函数返回值赋给ret这个指针通过指针指向的地址找到并打印字符如果解引用找到的会是字符数组的首地址的内容只能打印“a” 在这里%s, 传参ret是一个地址打印该地址对应的字符串遇到\0停止。 在C语言中找到地址就相当于找到了值。 找学生序号对应的分数 int *score(int(*p)[3], int n) {return *(p n); } int main() {int n 0;int arr[][3] { {1,2,3},{4,5,6},{7,8,9} };int i 0;scanf(%d, n);int* p score(arr, n);for (i 0; i 3; i){printf(%d, *(p i));}return 0; } 这个地方的解引用是二维数组某行的首地址也就是找到地址对应的行依次打印数字 总结 未完待续...
http://www.yayakq.cn/news/5999/

相关文章:

  • 做网站的公司倒闭微网站开发工具
  • 商丘企业网站建设推荐网站分析 工具
  • 太原高端网站建设国际贸易网站排名
  • 怎么做属于自己的领券网站驱动开发
  • 网站地图在线生成宁夏建设工程造价站网站
  • 青岛网站建设搜q.479185700网页设计代码html个人简介
  • 深圳做网站公司地点企业管理模式
  • 道路建设网站营销策略制定
  • 晟合建设集团网站网站建设一年能收入多少钱
  • 比价网站怎么做的工商局企业信息查询系统官网
  • 网站 防采集商务网站建设多少钱
  • 广西省建设厅网站设计素材网站情人节
  • 网站建设制作费 税前扣除吗本机号码一键登录
  • 济南做网站个人做展示空间设计的网站
  • 昆明做网站开发维护的公司视频网站如何做微信营销
  • 网站的跟目录免费客户销售管理软件
  • 茶类网站建设方案网站建设公司电话销售客源
  • 北京建站报价网站怎么做分时
  • 做剧情游戏的网站百度地图 wordpress
  • 做喜报的网站公众号开发实践 pdf
  • 网站接任务来做简约好看的网站模板
  • 网站可信认证多少钱手机wap网站免费建站
  • 微商怎么做_和淘宝网站一样吗?百度网站适配代码
  • 吐鲁番市网站建设php网站开发兼容怎么设置
  • 网站建设规划书万能求职简历
  • 公司建设网站申请温州seo排名公司
  • 网站开发设计师的工作dede网站根目录标签
  • 做风险代理案源的网站静态网站做毕业设计
  • 武冈企业建站电商平台网站制作
  • 濮阳哪里做网站合购WordPress