用函数指针求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。这就是用指针形式实现函数的调用。以上用两种方法实现函数的调用,运行结果是完全一样的。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【python/pytorch】已解决ModuleNotFoundError: No module named ‘torch‘

【PyTorch】成功解决ModuleNotFoundError: No module named torch 一、引言 在深度学习领域,PyTorch作为一款强大的开源机器学习库,受到了众多研究者和开发者的青睐。然而,在安装和使用PyTorch的过程中,有时会遇到一些问题和挑战…

排序-快排算法对数组进行排序

目录 一、问题描述 二、解题思路 1.初始化 2.将右侧小于基准元素移到左边 3.将左侧大于基准元素移到右边 4.重复执行上面的操作 5.对分好的左、右分区再次执行分区操作 6.最终排序结果 三、代码实现 四、刷题链接 一、问题描述 二、解题思路 快排算法实现数组排序&am…

力扣每日一题130:被围绕的区域

题目 中等 相关标签 相关企业 给你一个 m x n 的矩阵 board ,由若干字符 X 和 O ,找到所有被 X 围绕的区域,并将这些区域里所有的 O 用 X 填充。 示例 1: 输入:board [["X","X","X"…

从GPU到ASIC,博通和Marvell成赢家

ASIC市场上,博通预计今年AI收入将达到110亿美元以上,主要来自与Google和Meta的合作;Marvell预计2028年AI收入将达到70亿至80亿美元,主要来自与Amazon和Google的合作。 随着芯片设计和系统复杂性的增加,科技大厂将更多地…

主成分分析

主成分分析(Principal Component Analysis,简称PCA)是一种统计方法,它通过正交变换将一组可能相关的变量转换成一组线性不相关的变量,这些不相关变量称为主成分。PCA常用于降维、数据压缩和模式识别等领域。 PCA的主要…

EGST:Explicit Geometric Structure Transformer论文解读

目录 一、导言 二、相关工作 1、3D局部描述子 2、点云配准方法 三、EGST模型 1、结构化特征 2、特征提取 3、点云匹配 4、变换估计 5、损失函数 四、实验 1、数据集 2、评估指标 3、细节 4、对比实验 一、导言 该论文提出一种基于增强几何结构特征的点云配准方…

C语言详解文件操作

目录 什么是文件? 为什么使用文件? 程序文件和数据文件、文本文件和二进制文件 1.程序文件和数据文件 1.1程序文件 1.2数据文件 2.文本文件和二进制文件 文件的打开和关闭(流、标准流、文件指针和文件的打开与关闭) 1.流和标…

有点好玩的python运维脚本

python运维脚本 1. 常用端口扫描2. 文件整理 1. 常用端口扫描 在计算机网络中,端口是一个通信端点,允许不同的进程或服务通过网络连接和交换数据。端口通过数值来标识,并与特定的协议相关联。未采取适当安全措施而保持端口开放,可…

InternLM Xtuner Qlora 微调

Xtuner 简介 XTuner 是由上海人工智能实验室开发的一款低成本大模型训练工具箱。它以高效、灵活和全能的特性,成为轻量化大模型微调的理想选择。借助 XTuner,用户仅需 8GB 显存即可对 InternLM2-7B 模型进行微调,从而定制出独一无二的 AI 助手…

C++~~期末复习题目讲解---lijiajia版本

目录 1.类和对象 (3)创建对象的个数 (3)全局变量,局部变量 (4)构造函数的执行次数 (5)静态动态析构和构造顺序 (6)初始化顺序和声明顺序 &a…

安装systemd-bootchart

要安装systemd-bootchart,你可以按照以下步骤进行: 步骤一:更新软件包列表 首先,打开终端并更新你的软件包列表,以确保你拥有最新的可用软件包信息。运行以下命令: sudo apt update步骤二:安…

Git使用总结(git使用,git实操,git命令和常用指令)

简介:Git是一款代码版本管理工具,可以记录每次提交的代码,防止代码丢失,可实现版本迭代,解决代码冲突,常用的远程Git仓库:Gitee(国内)、GitHub(国外&#xff…

接口请求的六种常见方式详解(get、post、head等)

一.接口请求的六种常见方式: 1、Get 向特定资源发出请求(请求指定页面信息,并返回实体主体) 2、Post 向指定资源提交数据进行处理请求(提交表单、上传文件),又可能导致新的资源的建…

封装console

目的 1. 封装console.log , 使得打印更美观方便 2. 同时希望上线后不在打印消耗资源 例图: export const prettyLog () > {const isProduction import.meta.REACT_APP_ENV "prod";const isEmpty (value) > {return value null || val…

Flutter 实现dispose探测控件

文章目录 前言一、什么是dispose探测控件?1、通常情况2、使用dispose探测控件 二、如何实现1、继承StatefulWidget2、定义dipose回调3、定义child4、重载Dispose方法5、build child 三、完整代码四、使用示例1、基本用法2、设置定义数据 总结 前言 开发flutter一般…

Java 期末复习 习题集

💖 单选题 💖 填空题 💖 判断题 💖 程序阅读题 1. 读代码写结果 class A {int m 5;void zengA(int x){m m x;}int jianA(int y){return m - y;} }class B extends A {int m 3;int jianA(int z){return super.jianA(z) m;} …

Chapter 6 Frequency Response of Amplifiers

Chapter 6 Frequency Response of Amplifiers 这一节我们学习单极和差分运放的频率响应. 6.1 General Considerations 我们关心magnitude vs 频率, 因此有低通, 带通, 高通滤波器 6.1.1 Miller Effect Miller’s Theorem 考虑impedance Z1和Z2, X和Y之间增益为Av. Z1 Z/(…

spring 启动顺序

BeanFactoryAware 可在Bean 中获取 BeanFactory 实例 ApplicationContextAware 可在Bean 中获取 ApplicationContext 实例 BeanNameAware 可以在Bean中得到它在IOC容器中的Bean的实例的名字。 ApplicationListener 可监听 ContextRefreshedEvent等。 CommandLineRunner 整…

数据结构与算法笔记:基础篇 - 二叉树基础(下):有了如此高效的散列表,为什么还需要二叉树?

概述 上篇文章,我们学习了树、二叉树及二叉树的遍历,本章来学习一种特殊的二叉树,二叉查找树。二叉查找树最大的特点就是,支持动态数据集合的快速插入、删除、查找操作。 之前说过,散列表也是支持这些操作的&#xf…

盘点2024年5月Sui生态发展,了解Sui近期成长历程!

2024年5月是Sui的第一个生日月,Sui迎来了它的上线一周年纪念日。在过去的一年中Sui在技术进步与创新、生态系统的扩展、社区发展与合作伙伴关系以及重大项目和应用推出方面取得重要进展,展示了其作为下一代区块链平台的潜力。 以下是Sui的近期成长历程集…