• 回调函数


    回调函数:让客户端自己决定返回值是什么。

    我想杀一个人

    用刀

    用枪

    如果用刀 比较费时间

    如果用枪 速度快但是要消耗子弹。

    让客户端自己选择

    //回调函数测试
    
    function knife(){
    echo "用刀了";
    }
    
    function gun(){
    echo "用枪了";
    }
    
    function call($pcall){
            $pcall();
    }
    
    call("knife");
    回调函数的例子
    
    #include<stdio.h>
    
    // 方法指针的格式为:int (*ptr)(char *p) 即:返回值(指针名)(参数列表)
    typedef int (*CallBackFun)(char *p); // 为回调函数命名,类型命名为 CallBackFun,参数为char *p
    
    int Afun(char *p) {    // 方法 Afun,格式符合 CallBackFun 的格式,因此可以看作是一个 CallBackFun
        printf("Afun 回调打印出字符%s!
    ", p);
        return 0;
    }
    
    int Cfun(char *p) {    // 方法 Bfun,格式符合 CallBackFun 的格式,因此可以看作是一个 CallBackFun
        printf("Cfun 回调打印:%s, Nice to meet you!
    ", p);
        return 0;
    }
    
    int call(CallBackFun pCallBack, char *p) { // 执行回调函数,方式一:通过命名方式
        printf("call 直接打印出字符%s!
    ", p);
        pCallBack(p);
        return 0;
    }
    
    // int call2(char *p, int (*ptr)(char *p)) 
    int call2(char *p, int (*ptr)()) { // 执行回调函数,方式二:直接通过方法指针
        printf("==============
    ", p); 
        (*ptr)(p); 
    }
    
    int call3(char *p, CallBackFun pCallBack){ // 执行回调函数,方式一:通过命名方式
        printf("--------------
    ", p);
        pCallBack(p); 
    }
    
    int main() {    
    
        char *p = "hello";
    
        call(Afun, p);
        call(Cfun, p);
    
        call2(p, Afun);
        call2(p, Cfun);
    
        call3(p, Afun);
        call3(p, Cfun);
    
        // int i = getchar();
        // printf("Input: %c 
    ", i);
    
        return 0;
    }
  • 相关阅读:
    发现一波黒帽seo神操作,通过百度打开跳广告,其他方式访问正常。下面分析原理。
    微信公众号js调起支付代码中不要使用var
    js 中 new Array() var a={} var a=[] new Object()
    Brute Force-python
    Cobaltstrike -恶意宏文件
    利用恶意office文档得shell
    nginx 安装配置php
    nginx 安装部署
    python 函数小实例
    三星s4刷机教程(卡刷)
  • 原文地址:https://www.cnblogs.com/canbefree/p/3673276.html
Copyright © 2020-2023  润新知