指针函数与函数指针的用法与区别

指针函数与函数指针的用法与区别一 区别 1 指针函数 指的就是返回值是指针的函数 本质就是个函数 2 函数指针 指的是指向函数的指针变量 本质就是个指针 二 用法 1 指针函数 int func inta intb 普通函数就是 intfunc inta intb 返回值是 int 而指针函数就是返回值是指针的函数 即返回值是 int 2 函数指针 int func intx inty 这里

2、函数指针int (*func)(int x,int y);
这里定义了一个函数指针,只不过这个指针的格式有点特殊,正常定义的指针是把指针变量放到最后的,即int* p ;p是指针变量,但是函数指针是把指针变量放到了中间,即func是指针变量,而且这是一个指向函数的指针变量,而具体指向哪个函数是自己定的。
下面这个例子我定义了一个函数指针指向了int add(int a,int b)int sub(int a,int b)这两个函数。
举个例子:


#include <stdio.h> int add(int a,int b) { return a+b; } int sub(int a,int b) { return a-b; } //函数指针 int (*func)(int a,int b); int main() { func = add; printf("add:%d\n",(*func)(10,5)); func = sub; printf("sub:%d\n",(*func)(10,5)); return 0; } 

运行结果:

add:15 sub:5 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233814.html原文链接:https://javaforall.net

(0)
上一篇 2025年6月19日 下午1:01
下一篇 2025年6月19日 下午1:22


相关推荐

  • 简单说一下MySQL sum(1) count(1) 区别和联系

    简单说一下MySQL sum(1) count(1) 区别和联系

    2020年11月19日
    187
  • Map – LinkedHashSet & LinkedHashMap 源码解析「建议收藏」

    Map – LinkedHashSet & LinkedHashMap 源码解析「建议收藏」总体介绍如果你已看过前面关于HashSet和HashMap,以及TreeSet和TreeMap的讲解,一定能够想到本文将要讲解的LinkedHashSet和LinkedHashMap其实也是一回事。LinkedHashSet和LinkedHashMap在Java里也有着相同的实现,前者仅仅是对后者做了一层包装,也就是说LinkedHashSet里面有一个LinkedHashMap(适配器模式)。因此本文将重点分析LinkedHashMap。LinkedHashMap实现了Map接口,即允许放入key

    2022年10月12日
    4
  • 让Dropdownlist拥有Tooltip属性[通俗易懂]

    让Dropdownlist拥有Tooltip属性[通俗易懂]需求:现在遇到这样一个实例:DropdowList控件占用的宽度只有100px,而数据信息占用宽度有150px以上,在不允许提高宽度的前提下我们只有通过ToolTip属性来得以扩展,方便用户识别各个选项的差异性。在这里我觉得用javascript来实现显得格外的方便.【该段为转载】代码:HTML> HEAD>  TITLE> New Document TITLE>    script 

    2026年4月14日
    6
  • IOS 微信获取accesstoken 40029

    IOS 微信获取accesstoken 40029微信授权根据code获取accesstoken时报40029不合法的code在浏览器中是可以获取到token的 因为在客户端@”https://api.weixin.qq.com/sns/oauth2/access_token?appid=%@&secret=%@&code=%@&grant_type=authorization_code”请求时重定向了,第二次的时候code参数差了导致

    2022年5月11日
    78
  • JVM进阶(一):初识 JAVA 栈

    JVM进阶(一):初识 JAVA 栈JVM 进阶 一 初识 JAVA 栈 若想使自己编写的 Java 程序高效运行 以及进行正确 高效的异常诊断 JVM 是不得不谈的一个话题 本 JVM 进阶 专栏大部分内容均来源于经典书籍 深入理解 Java 虚拟机 下面言归正传 本文重点从虚拟机内存模型 运行时数据区域 入手 先看图 这是一张比较官方的虚拟机模型图 今天讲的就是虚线框中栈的部分 栈是我们最常用的内存区域 它主

    2026年3月26日
    2
  • charles抓包教程(微信7以上如何抓包)

    APP抓包和微信小程序抓包-Charles的精简使用教程目标教程一、安装Charles二、Charles简介(1)Charles欢迎页面(2)基础功能按钮(3)抓包内容显示方式(4)过滤抓包内容三、手机配置Charles代理四、解决配置Charles代理之后手机无法上网的问题五、手机APP抓包(1)对“花生地铁”APP进行抓包。六、微信小程序抓包(1)安装SSL…

    2022年4月12日
    957

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号