美文网首页
07-Blocks<一>

07-Blocks<一>

作者: 紫荆秋雪_文 | 来源:发表于2016-10-30 00:18 被阅读4次

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,就能狗使用匿名函数,即不带名称的函数。这样就解决了这个问题。

相关文章

网友评论

      本文标题:07-Blocks<一>

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