用函数指针求a和b中的大者

        指针变量也可以指向一个函数。一个函数在编译时被分配给一个入口地址。这个函数入口地址就称为函数的指针。可以用一个指针变量指向函数,然后通过该指针变量调用此函数。

先按一般方法编写程序:

        可以用一个指针变量指向max函数,然后通过该指针变量调用此函数。

        指向函数的指针变量的一般定义形式为
        函数类型(*变量名)(函数形参表);
        请将上面定义的指向函数的指针变量和上面程序中的函数max的原型作比较:

        int max(int,int);        //max 函数原型
可以看出,只是用(*p)取代了max,其他都一样。将上面程序的主函数修改如下:

        注意在定义指向函数的指针变量p时,(*p)两侧的括号不可省略,表示p先与*结合,它是指针变量,然后再与后面的()结合,表示此指针变量指向函数,这个函数值(即函数返回的值)是整型的。如果写成"int *p(int,int);",则由于()优先级高于*,它就成了声明一个函数了(这个函数的返回值是指向整型变量的指针)。

        请注意第7行的赋值语句"p=max;"。此语句千万不要漏写,它的作用是将函数max的入口地址赋给指针变量p。这时,p才指向函数max。注意:只须将函数名max赋给p,不能写成"p=max(a,b);"形式。函数名代表函数入口地址,而max(a,b)则是函数调用了。

        在main函数中的第9行:

        m=p(a,b);
赋值号的右侧是函数的调用,此赋值语句和"m=max(a,b);"等价,调用*p就是调用函数max。这就是用指针形式实现函数的调用。以上用两种方法实现函数的调用,运行结果是完全一样的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/698853.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PHP短链接短网址生成源码

下载地址:PHP短链接短网址生成源码 V3.0(11月14日更新) 1.更换用户中心模板 2.首页可以更换模板(暂时只有俩套) 3.增加首页背景更换 4.logo可以在后台设置 5.更换后台模板 6.优化访问统计功能 7.删除了几个没什么用的东西 8.数据表已支持全…

【Vue】项目创建目录初始化

文章目录 vue-cli 建项目调整初始化目录结构 vue-cli 建项目 1.安装脚手架 (已安装) npm i vue/cli -g2.创建项目 vue create hm-shopping选项 Vue CLI v5.0.8 ? Please pick a preset:Default ([Vue 3] babel, eslint)Default ([Vue 2] babel, eslint) > Manually sel…

日本麻将基本规则和基本术语以及役种讲解

基本规则 无役无法和牌 “役”是特定牌的组合,不满足任何役是无法和牌的,关于役在后面会进行深入的讲解 和牌条件 满足和牌牌型有役荣和时不能振听 和牌牌型 ABC*xAAA*yDD,一般的和牌牌型,x组顺子和y组刻子加上一组对子(xy4)AA*7,特殊的和牌牌型,是一种役,名叫…

SpringSecurity入门(四)

18、权限管理/授权 18.1、针对url配置 配置SecurityConfig package com.wanqi.config;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.web.bu…

面试官问:百万QPS秒杀系统该如何设计

今天就带大家体系化的梳理下,大厂级高并发的秒杀系统该如何设计。 带大家跳出程序员思维,从架构师的视角分析下,大厂级、高并发的秒杀系统该如何设计? 秒杀系统的三个问题 问题一:为什么需要秒杀系统? 简…

CVE-2023-37569(未授权任意文件上传+弱口令爆破)

靶场简介 Online Piggery Management System v1.0 - 存在未授权的文件上传漏洞,登陆界面弱口令爆破 进入靶场 猜测弱口令admin/admin,错误,进行账号密码爆破 得到账号密码 admin/password 登陆进入,找到一处文件上传位置 上传…

SpringBoot快速部署(2)—不使用docker的常规方法

一、软件下载和部署前准备 安装软件 获取软件安装包 然后上传到服务器的 /tmp 目录下。 软件:nginx、jdk、mysql 下载 X-shell 和 Xftp 注意:这个页面下载安装的才可以免费使用。家庭/学校免费 - NetSarang Website 安装jdk 1.8 tar -zxvf /tmp/jdk-…

弱智吧”,人类抵御AI的最后防线

“写遗嘱的时候错过了deadline怎么办?” “怀念过去是不是在时间的长河里刻舟求剑?” “英语听力考试总是听到两个人在广播里唠嗑,怎么把那两个干扰我做题的人赶走?” 以上这些饱含哲学但好像又莫名其妙的问题,出自…

简易概况广告变现

广告变现是指媒体或平台通过向用户展示广告主的广告,从而获得收入的过程。 广告变现就像是一个店主,他需要一个吸引人的店面,提供优质的内容和服务,然后在店里摆放一些别人的商品或服务,每当有客人看了或买了这些商品或…

计算机SCI期刊,中科院3区,IF=3.4,难度不大,无预警风险

一、期刊名称 Automated Software Engineering 二、期刊简介概况 期刊类型:SCI 学科领域:计算机科学 影响因子:3.4 中科院分区:3区 三、期刊征稿范围 自动化软件工程是一份档案,同行评审的期刊,发表研…

Win10系统自带输入法英文变大的问题

现在习惯使用Windows自带的五笔输入法了,但一直以来总会遇到输入时突然英文字母变大了,相隔空间也变大了的情况。 asdfghkl asdfghkl 后来知道这是输入法变…

汇凯金业:上海黄金交易所简介

上海黄金交易所(SGE)是中国唯一合法进行黄金交易的国家级市场,遵循公开、公平、公正和诚实信用的原则,在中国人民银行的领导下,于2002年10月30日正式开业。交易所不以盈利为目的,实行自律性管理。 组织形式及会员 交易所实行会员…

腾讯云和windows11安装frp,实现内网穿透

一、内网穿透目的 实现公网上,访问到windows上启动的web服务 二、内网穿透的环境准备 公网服务器、windows11的电脑、frp软件(需要准备两个软件,一个是安装到公网服务器上的,一个是安装到windows上的) frp下载地址下载版本 1.此版本(老版…

算法:11. 盛最多水的容器

11. 盛最多水的容器 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你…

Linux LCD屏幕上电不显示

一、问题描述 LCD屏幕点不亮 二、相关配置 timing获取:(1280x800) 最好的获取方式是通过询问LCD屏厂获得确切的时序参考值。其次或是从屏手册或者Driver IC手册中查找(向屏厂索要这些文档)。 至少需要从屏厂获得Width&#xff…

VBA中发送邮件的多种途径?如何实现批发?

VBA发送邮件的常用方法有哪些?VBA怎么设置自动发信? 通过电子邮件进行沟通是必不可少的一部分。利用VBA自动化发送邮件,可以极大地提高工作效率。AokSend将探讨VBA中发送邮件的多种途径,帮助你了解如何在不同的情况下选择合适的方…

CAPL如何发送一条SYN报文

在TCP协议中,发起连接的Client端首先会发送一条SYN报文,用来发起TCP连接请求。这条SYN报文的本质是TCP报文,只不过flags字段中SYN位置为1。 且SYN的序列号是随机的,所以可以用一个随机函数来生成随机数。而ack确认号是0。 TCP报文和UDP报文一样,需要设置源和目标端口号,…

超详解——Python模块文档——基础篇

目录 1. Unix起始行 示例: 2. 对象和类型 示例: 3. 一切都是对象 示例: 4. 理解对象和引用 示例: 5. 理解对象和类型 示例: 6. 标准类型 示例: 7. 其他内建类型 示例: 8. 类型的类…

【Qt 学习笔记】Qt窗口 | 对话框 | 模态与非模态对话框的创建

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Qt窗口 | 对话框 | 创建模态及非模态对话框 文章编号:Qt 学…

全方位·多层次·智能化,漫途水库大坝安全监测方案

党的十九届五中全会提出,到2025年前,完成新出现病险水库的除险加固,配套完善重点小型水库雨水情和安全监测设施,实现水库安全鉴定和除险加固常态化。 加快推进小型水库除险加固。加快构建气象卫星和测雨雷达、雨量站、水文站组成…