函数指针与块

声明函数指针变量
函数返回值类型 (指针变量名) ( ); //不需要列举形参,只是定义了一个可以指向函数的指针,不关心指向什么函数以及有什么参数
指针变量名=函数名;
(
指针变量名)(实参列表);//调用函数
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修饰变量

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 8,848评论 3 44
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 13,160评论 1 51
  • void* 类型指针:通用变体类型指针;可以不经转换,赋给其他指针,函数指针除外;malloc返回的就是void*...
    冰吉凌阅读 8,690评论 0 18
  • 自古就有男入赘之婚姻。可在我的观念里,我不认同这个方式的婚姻。 家里是两姐妹,厢里厢邻都说,两姐妹都嫁出去家中只剩...
    VVx刚刚好阅读 1,481评论 0 3
  • 01消费者都有“捡便宜”的心理 ▼ 举两个例子: 1、你和妹子逛街累了,想喝点东西,面对周围的各色茶饮店,选择恐惧...
    百读阅读 3,408评论 0 2

友情链接更多精彩内容