作用:
1.block封装了一段代码,可以在任意时候调用执行
2.block可以作为函数参数或者函数的返回值,而本身又可以带入参数或返回值
3.block在iOS中的多线程、异步任务、集合遍历、集合排序、动画专场用的多
特点:
a. block用来保存一段代码(预先准备好的一段代码)
b. block的标志:^
c. block和函数指针很像
Blcok类型:
①. 无形参无返回值:void (^blockFunction)(void)
②. 有形参无返回值:void (^blockFunction)(int a, int b)
③. 无形参有返回值: int (blockFunction)(void)
④. 有形参有返回值: int (blockFunction)(int a, int b)
事例一:在函数内部定义block并调用执行
#include
int main(void)
{
// 先定一个block函数
int (^sumFunction)(int a, int b) = ^(int x, int y)
{
// 此{}里的代码现在压根没有执行,只是预先准备好了
return (x + y);
}
// 调用执行block函数
int temp = sumFunction(2, 3);// 此时会执行上面{}里的代码块,并返回一个int类型的数值
// 打印出来
printf(“temp = %d\n”, temp);
// 控制台打印信息是
// temp = 5
return 0;
}
事例二:在函数外部定义block类型并调用执行
#include
typedef int (^blockFunctionType)(int a, int b);
int main(void)
{
// 使用blcok类型实现一段代码块
blockFunctionType blockFunction = ^(int x, int y)
{
// 此{}里的代码现在压根没有执行,只是预先准备好了
return (x + y);
};
// 调用执行block函数
int temp = blockFunction(2, 3);// 此时会执行上面{}里的代码块,并返回一个int类型的数值
// 打印出来
printf(“temp = %d\n”, temp);
// 控制台打印信息是
// temp = 5
return 0;
}
今天的文章c语言block是什么意思_c语言编译器软件分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/79203.html