zoukankan      html  css  js  c++  java
  • 函数指针

    之前经常见到这样的代码:

    typedef int (*Func)(int a ,int b);

    一开始不知道这是什么意思,每次翻阅资料和各位大牛博客之后一目了然,但是过了一段时间又忘记了,归根结底是当时学C的时候就没有重视这基础,再加上后来练习的越来越少,更是蒙了。

    于是记录在这里自己的想法,以后晚上睡前来看看,毕竟温故而知新,当然还得多加练习。

    这个typedef定义的是一个函数指针,Func指针名可以指向一个二参返回int类型的函数。

    最简单的,声明定义一个函数如下:

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

    在main函数中执行如下操作:

    Func fun = &add;(函数指针指向add函数地址)

    接下来就可以这样用了:

    int sum = fun(1,2);

    输出sum值,就是3,即1与2的和。

    在实践过程中,还遇到过类似如下的一个接口定义:

    void setFunc(Func fun);

    我遇到这种场景,Func是一个回调方法,不过同样的道理,如果我想把add函数传入上式,很简单:

    setFunc(add);

    刚才提到了回调,不得不说回调真是实际项目中最常用的方法之一,查阅了很多资料,师兄给我非常详细的讲了很久之后,我自己写了一个回调,才恍然大悟,之后写一个关于回调的知识点。
  • 相关阅读:
    androidstudio配置模拟器路径
    Linux常见命令
    逆向助手使用
    Git服务器回滚到固定版本
    Git使用
    使用本地Gradle版本
    系统模拟器创建
    AndroidStudio设置代理
    关联、参数化、思考时间、检查点、事务的设置方式
    SQL:内连接、左外连接、右外连接、全连接、交叉连接区别
  • 原文地址:https://www.cnblogs.com/zzdbullet/p/9949761.html
Copyright © 2011-2022 走看看