当前位置:网站首页>函数指针与block[通俗易懂]
函数指针与block[通俗易懂]
2022-07-29 18:51:00 【全栈程序员站长】
#1. 给普通的指针赋值
int projectCount = 1;
int *intPtr = &projectCount;
#2. 函数的名称就是函数的地址
int func(int count)
{
return count * 2;
}
int (*funcPtr)(int) = func;
#3. 函数的参数是: 指向函数的指针
typedef int (*blk_c)(int);
// 3.1 直接方式
int func_para_c (int (*blk_c)(int))
{
return 3;
}
// 3.1 间接方式
int func_para_c_d (blk_c blk)
{
return 3;
}
#4. 函数的参数是: block
typedef int (^blk_t)(int); // 定义block变量
// 4.1 直接方式
int func1(int (^blk)(int))
{
return 3;
}
// 4.1 间接方式
int func11(blk_t blk)
{
return 3;
}
#5. 函数的返回值是: 指向函数的指针
// 5.1 直接方式
int (*func_ret_c())(int) // 其中func_ret_c()是整个函数的骨架.
{
int (*funcPtr)(int) = func;
return funcPtr;
// return func; 也可以直接返回函数的名称作为地址
}
// 5.2 间接方式
blk_c func_ret_c_d()
{
return func;
}
#6. 函数的返回值是: block
// 6.1 直接方式
int (^func_ret_t())(int)
{
return ^(int count){return count * 2 ;};
}
// 6.2 间接方式
blk_t func_ret_t_d()
{
blk_t blV = ^(int count){return count * 2 ;};
return blV;
}
边栏推荐
- FP6601QS6 SOT-23-6 USB专用充电端口控制器 QC2.0/3.0快充协议IC
- How to read excel test data in Go language, easy to learn
- PromptBERT: Improving BERT Sentence Embeddings with Prompts
- [数学]必备基本知识
- For key in object traversal of objects encountered problems
- 峰会(暑假每日一题 8)
- 成都 | 转行软件测试,从零收入到月薪过万,人生迎来新转折...
- 小程序使用npm包
- Go 语言如何读取 excel 测试数据,简单易学
- 一些投资的底线
猜你喜欢
Embedded Development: Embedded Fundamentals - Software Error Classification
测试基础:Nosql数据库之Redis
Answer these 3 interview questions correctly, and the salary will go up by 20K
Postgresql-xl全局快照代码走读与GTM原理(支线1)
小程序使用npm包
无代码开发平台权限设置入门教程
每日优鲜“坠落”,生鲜前置仓的面子和里子
MarkBERT
数字孪生万物可视 | 联接现实世界与数字空间
String类型_static成员_动态内存分配_拷贝构造函数_const关键字_友元函数与友元类
随机推荐
C # CLI (common language infrastructure)
总数据量超万亿行,玉溪卷烟厂通过正确选择时序数据库轻松应对
第02章 MySQL的数据目录【1.MySQL架构篇】【MySQL高级】
31个!Golang常用工具来啦(建议收藏)
Canal实现Mysql数据增量同步更新至Mysql/Redis
知识库对企业的意义
exdark数据集转yolo格式(仅供参考)
无人驾驶技术有什么优点,人工驾驶的优缺点英文
QT 如何计算中英文字符串的长度
活动回顾 | 大咖云集“开源安全治理模型和工具”线上研讨会
在宇宙中心五道口上班,是怎样一种体验
测试基础:Nosql数据库之Redis
R语言使用treemap包中的treemap函数可视化treemap图:treemap将分层数据显示为一组嵌套矩形,每一组都用一个矩形表示,该矩形的面积与其值成正比
本科毕业六年,疫情期间备战一个月,四面阿里巴巴定级P7
面试突击:为什么 TCP 需要 3 次握手?
7 lines of code crashed station B for 3 hours, but because of "a tricky 0"
Win11网络不稳定怎么办?Win11连接wifi频繁掉线的解决方法
Make a file upload progress bar
无代码开发平台角色设置入门教程
R语言时间序列数据提取:使用head函数或者tail函数获取时间序列数据中最早或者最新的样本数据