• 函数指针


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

    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);

    刚才提到了回调,不得不说回调真是实际项目中最常用的方法之一,查阅了很多资料,师兄给我非常详细的讲了很久之后,我自己写了一个回调,才恍然大悟,之后写一个关于回调的知识点。
  • 相关阅读:
    记一次坑爹的jconsole使用
    触发Full GC的时机
    java NIO之Selector
    java NIO之SelectedKey
    java泛型中的各种限制
    filebeat安装部署
    Kibana安装及简单使用
    elastucasearch基础理论以及安装
    Salt 与Salt API配置
    RabbitMQ 相关理论部分
  • 原文地址:https://www.cnblogs.com/zzdbullet/p/9949761.html
Copyright © 2020-2023  润新知