OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3137|回复: 4

请教怎么理解void (* pfDrawUpRect) (const GUI_RECT * pRect); ?

[复制链接]

3

主题

10

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2016-10-24
在线时间
6 小时
发表于 2016-11-9 23:22:45 | 显示全部楼层 |阅读模式
1金钱
请教怎么理解void (* pfDrawUpRect)  (const GUI_RECT * pRect); ?

谢谢!

最佳答案

查看完整内容[请看2#楼]

这是一个函数指针,指针变量是pfDrawUpRect,这个指针变量可以指向一个函数,这个函数需要是void test(const GUI_RECT * pRect)这种形式的定义,从而通过这个指针调用到这个函数~ 例如: void test(const GUI_RECT * pRect) { } void (* pfDrawUpRect) (const GUI_RECT * pRect); pfDrawUpRect = test; pRect myRect; pfDrawUpRect (&myRect); //完成了函数指针的调用 PS:LINUX内核中,大量采用struct中加函 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

561

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1183
金钱
1183
注册时间
2015-5-28
在线时间
149 小时
发表于 2016-11-9 23:22:46 | 显示全部楼层
本帖最后由 小陀螺爱炒蛋 于 2016-11-10 10:27 编辑

这是一个函数指针,指针变量是pfDrawUpRect,这个指针变量可以指向一个函数,这个函数需要是void test(const GUI_RECT * pRect)这种形式的定义,从而通过这个指针调用到这个函数~
例如:
void test(const GUI_RECT * pRect)
{

}

void (* pfDrawUpRect) (const GUI_RECT * pRect);

pfDrawUpRect = test;

pRect myRect;

pfDrawUpRect (&myRect); //完成了函数指针的调用

PS:LINUX内核中,大量采用struct中加函数指针的方式,实现函数封装进结构体的目的,从而模拟一些面向对象的特性~
回复

使用道具 举报

10

主题

561

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1822
金钱
1822
注册时间
2014-6-27
在线时间
978 小时
发表于 2016-11-9 23:50:52 | 显示全部楼层
定义了一个函数指针,指针指向的函数类型是void,带有一个参数,如括号里面如是
回复

使用道具 举报

30

主题

1170

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1993
金钱
1993
注册时间
2016-2-16
在线时间
527 小时
发表于 2016-11-9 23:58:47 | 显示全部楼层
函数指针,返回void,参数应该是一个结构体指针
回复

使用道具 举报

3

主题

10

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2016-10-24
在线时间
6 小时
 楼主| 发表于 2016-11-10 13:32:38 | 显示全部楼层
谢谢上面几位。!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-25 03:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表