07-Blocks<一>

1、什么是Blocks

1-1:Blocks是C语言的扩充功能。可以用一句话来表示Blocks的扩充功能:带有自动变量(局部变量)的匿名函数。

顾名思义,所谓匿名函数就是不带有名称的函数。但是在C语言的标准中是不允许存在这样的函数。

1-2:C语言中标准的函数如下:

//带有一个参数,并且返回值为int类型
int func(int count);
//声明了名称为func的函数,下面为调用该函数,但是必须使用该函数的名称func
int result = fun(10);
//同样可以使用函数指针来代替直接调用函数,那么似乎不用知道函数名也能使用该函数。
int result = (*funcptr)(10);
小结:其实在使用 函数指针 也依然需要知道 函数名称。因为函数指针需要函数名来获取:
int (*funcptr)(int) = &func;
int result = (*funcptr)(10);

小结:

通过Blocks,就能狗使用匿名函数,即不带名称的函数。这样就解决了这个问题。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在前两篇中,我们介绍了一些关于C语言的重要概念,指针跟struct,这些基础知识是我们深入学习block的前提,在...
    ccSundayChina阅读 545评论 2 3
  • 前言 人生苦多,快来 Kotlin ,快速学习Kotlin! 什么是Kotlin? Kotlin 是种静态类型编程...
    任半生嚣狂阅读 26,295评论 9 118
  • Blocks编程要点 目录 简介............................................
    xuejunjun阅读 1,312评论 0 5
  • 写在前面的话 相信每个开发人员都会在项目中遇到很多坑,那为了避免出现类似费时解决我们需要把开发遇到的问题就行总结归...
    zhangferry阅读 321评论 0 1
  • 不知不觉北方已经进入到11月,空气中除了潮湿的阴冷。似乎就没有其他什么味道了。看着飘落的黄叶。以及满地的落叶,在经...
    卡布基诺的思念阅读 217评论 0 0