C语言-函数指针

2023-05-16

1 函数指针
函数原型:

int sum(int a, int b);

函数指针:

int (*psum)(int,int)=sum;

通过函数指针调用函数:

int result=psum(20,30);

2 函数指针数组
要声明函数指针数组,需要将数组大小放在函数指针数组名之后。
例子:

#include<stdion.h>

int sum(int,int);
int product(int,int);

int main(void)
{
    int a=10;
    int b=20;
    int (*pfun[2])(int,int);

    pfun[0]=sum;
    pfun[1]=product;

    printf("%d \n",pfun[0](a,b));
    printf("%d \n",pfun[1](a,b));

    return 0;
}

int sum(int a,int b)
{
    return a+b;
}

int product(int a,int b)
{
    return a*b;
}

//输出结果
30
200

3 作为变元的函数指针
将函数指针作为变元来传递,可以根据指针所指向的函数,而调用不同的函数。

#include<stdion.h>

int sum(int,int);
int product(int,int);
int any_fun(int (*pfun)(int,int),int,int);

int main(void)
{
    int a=10;
    int b=20;
    int result=0;
    int (*pf[2])(int,int);

    pf[0]=sum;
    pf[1]=product;

    printf("%d \n",any_fun(pf[0],a,b));
    printf("%d \n",any_fun(pf[1],a,b));

    return 0;
}

int sum(int a,int b)
{
    return a+b;
}

int product(int a,int b)
{
    return a*b;
}

int any_fun(int (*pfun)(int,int),int x,int y)
{
    return pfun(x,y);
}

//输出结果
30
200
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言-函数指针 的相关文章

  • 动手学深度学习——8. 人物肖像画

    动手学深度学习 8 人物肖像画 记录一下学习深度学习的一些 本篇记录一下使用 U 2 Net paper 生成人物肖像画 xff0c 还有 APDrawingGAN 环境 xff1a Windows 108700K2070Pytorch 1
  • python函数--enumerate()方法

    enumerate 方法 描述 enumerate 函数用于将一个可遍历的数据对象 如列表 元组或字符串 组合为一个索引序列 xff0c 同时列出数据和数据下标 xff0c 一般用在 for 循环当中 Python 2 3 以上版本可用 x
  • [HAL库学习之路]1.点亮LED

    记录自己的STM32的HAL库的学习之路 xff0c 不定期更新 一 创建工程 二 Pinout 三 Clock Configuration 四 Configuration 配置GPIO的模式 速度等等 五 Generate Code Pr
  • [HAL库学习之路]5.IWDG-独立看门狗

    记录自己的STM32的HAL库的学习之路 xff0c 不定期更新 一 Pinout 二 Clock Configuration 三 Configuration 配置GPIO 配置IWDG 四 Generate Code 代码 主函数首先点亮
  • [HAL库学习之路]7.定时器中断

    记录自己的STM32的HAL库的学习之路 xff0c 不定期更新 一 Pinout 二 Clock Configuration 三 Configuration 定时器溢出时间 T o u t 61 a r r 43 1 p s c 43 1
  • [HAL库学习之路]8.PWM输出

    记录自己的STM32的HAL库的学习之路 xff0c 不定期更新 一 Pinout 二 Clock Configuration 三 Configuration 四 Generate Code 代码 span class hljs keywo
  • [HAL库学习之路]9.输入捕获

    记录自己的STM32的HAL库的学习之路 xff0c 不定期更新 一 Pinout 二 Clock Configuration 三 Configuration 四 Generate Code 代码 计数频率为1MHz xff0c 捕获到高电
  • [HAL库学习之路]11.RTC-实时时钟

    记录自己的STM32的HAL库的学习之路 xff0c 不定期更新 一 Pinout 二 Clock Configuration 三 Configuration 四 Generate Code 代码 int span class hljs f
  • 数字电路基础(四) 数据分配器、数据选择器和数值比较器

    数字电路基础 xff08 四 xff09 数据分配器 数据选择器和数值比较器 一 数据分配器 在数据传输的过程中 xff0c 数据选择器可以把某一路的数据分配到不同的数据通道上 xff0c 这种电路称为数据分配器 简称DEMUX xff0c
  • 好心博主祝您解决sql右模糊匹配一个列表的问题

    LambdaQueryWrapper if span class token punctuation span CollectionUtil isNotEmpty span class token punctuation span requ
  • IPV9 : 中国摆脱美国IPV6, 自订互联网标准

    IPV9 中国摆脱美国IPV6 自订互联网标准 根据新华网消息指出 中国于2008 1 23宣布基于十进制技术构建的互联网投入使用 十进制互联网技术形成的IPV9协议 xff0c 是中国在互联网技术上取得的重大自主创新成果 xff0c 为摆
  • K_A18_001 基于STM32等单片机采集MQ2传感参数串口与OLED0.96双显示

    K A18 001 基于STM32等单片机采集MQ2传感参数串口与OLED0 96双显示 一 资源说明二 基本参数参数引脚说明 三 驱动说明IIC地址 采集通道选择 时序对应程序 四 部分代码说明1 接线引脚定义1 1 STC89C52RC
  • Linux命令总结--grep命令

    linux grep命令详解 简介 grep global search regular expression RE and print out the line 全面搜索正则表达式并把行打印出来 是一种强大的文本搜索工具 xff0c 它能
  • OpenStack:01---通过packstack在CentOS7上安装OpenStack(不限版本)

    官方手册步骤太多 xff0c 一着不慎满盘皆输 对于学习体验来说自动化安装的方法较为合适 1 CentOS虚拟机安装 需要注意三点 xff1a 使用mini镜像进行最小化安装配置给够CPU开启虚拟化 下面分别解释 第一条 xff1a cen
  • OpenStack 入门学习之八:OpenStack OVS GRE/VXLAN网络

    文章来自 xff1a http blog sina com cn s blog 9762b74e010135vv html 学习或者使用OpenStack普遍有这样的现象 xff1a 50 的时间花费在了网络部分 xff1b 30 的时间花
  • 面试系列之抽象类和接口的区别

    抽象类 在Java中被abstract关键字修饰的类称为抽象类 xff0c 被abstract关键字修饰的方法称为抽象方法 抽象方法只有方法的声明 xff0c 没有方法体 抽象类无法被实例化 public abstract class Hu
  • 综述:小样本学习中的自监督元素

    来源 xff1a 知乎 嬉嬉皮 侵删 地址 xff1a https zhuanlan zhihu com p 363959407 本文是笔者周末翻论文时做的一点概览性的总结 xff0c 关注一下近年小样本学习中的embedding func
  • 数据库锁机制和CAS概念

    这个作者介绍比较清晰 https www cnblogs com X knight p 10669934 html 64 勋爵
  • SpringBoot整合shiro的一个完整的小案例

    SpringBoot整合配置版的shiro很简单 逻辑清 首先在pom xml的配置如下 shiro使用缓存ehcache span class hljs tag lt span class hljs title dependency sp
  • matlab软件中GUI界面开发学习——双色球选择小工具

    matlab软件中GUI界面开发学习 双色球选择小工具 先上一张界面截图 xff1a 特别说明 xff1a 只是最近对双色球比较感兴趣 xff0c 所以找了一个实际的项目依据帮助我学习GUI工具 xff0c 小工具的相关条件仅代表个人想法

随机推荐