美文网首页
函数指针与块

函数指针与块

作者: 莫_名 | 来源:发表于2016-09-20 20:37 被阅读0次

    声明函数指针变量
    函数返回值类型 (指针变量名) ( ); //不需要列举形参,只是定义了一个可以指向函数的指针,不关心指向什么函数以及有什么参数
    指针变量名=函数名;
    (
    指针变量名)(实参列表);//调用函数
    eg:
    int max(int* data, int len){ ……}
    int (fnPt) ( ) = max;
    (
    fnPt)( data , 5);
    fnPt = avg;
    (*fnPt)( );

    块,Block

    定义块语法:
    ^ [块返回值类型,可省略,一般不写] (形参列表){ …….}
    eg: ^( ){….}
    定义块变量:
    块返回值类型 (^块变量名) (形参列表);
    eg: void (^nani)( );
    块变量赋值:
    块变量名 = 块语法;
    eg: nani = ^( ){…..}
    调用块:
    块变量名(参数列表);
    eg: nani( );
    定义块类型:
    定义快变量前加上typedef即可,
    typedef 块返回值类型 (^块变量类型) (形参列表);
    eg:
    type void (^FKPrint) (int);
    FKPrint woca = ^(int){….}
    FKPrint wokao= ^(int){….}
    woca(2); wokao(3);

    块与局部变量:
    在定义块的时候捕获变量值,默认不可修改,若要修改在变量前加上__block修饰变量

    相关文章

      网友评论

          本文标题:函数指针与块

          本文链接:https://www.haomeiwen.com/subject/ymvoettx.html