OpenEdv-开源电子网

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

调用函数时,函数没有入参,却能使用?

[复制链接]

36

主题

98

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
230
金钱
230
注册时间
2016-3-26
在线时间
83 小时
发表于 2017-1-9 17:44:29 | 显示全部楼层 |阅读模式
5金钱
本帖最后由 li13158 于 2017-1-9 17:56 编辑

函数没有入参, 居然不报错,这是为什么?


u8 TP_Scan(u8 tp)
{ }

u8 FT5206_Scan(u8 mode)
{ }

typedef struct
{
        u8 (*init)(void);                        //初始化触摸屏控制器
        u8 (*scan)(u8);                        //扫描触摸屏.0,屏幕扫描;1,物理坐标;         
        void (*adjust)(void);               
        u16 x[CT_MAX_TOUCH];                
        u16 y[CT_MAX_TOUCH];               
        u8  sta;                                                                                       
        float xfac;                                       
        float yfac;
        short xoff;
        short yoff;          
        u8 touchtype;
}_m_tp_dev;

_m_tp_dev tp_dev=
{
        TP_Init,
        TP_Scan,
        TP_Adjust,
        0,
        0,
        0,
        0,
        0,
        0,                                   
        0,
        0,                                   
};                        


u8 TP_Init(void)
{
                FT5206_Init();
                tp_dev.scan=FT5206_Scan;                        
                tp_dev.touchtype|=0X80;                        //电容屏
                tp_dev.touchtype|=lcddev.dir&0X00;//横屏还是竖屏         
        return 0;                                                                          
}


看这2个scan函数,都有返回值,但是 tp_dev.scan=FT5206_Scan;  居然都没有入参,这是为什么?


不应该是 tp_dev.scan=FT5206_Scan(u8 mode) 吗?

最佳答案

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

百度C语言的“函数指针”。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2017-1-9 17:44:30 | 显示全部楼层
百度C语言的“函数指针”。
回复

使用道具 举报

36

主题

98

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
230
金钱
230
注册时间
2016-3-26
在线时间
83 小时
 楼主| 发表于 2017-1-9 18:00:51 | 显示全部楼层
zuozhongkai 发表于 2017-1-9 17:55
百度C语言的“函数指针”。

ok,看懂了。

f = &func;
赋值时函数func不带括号,也不带参数,由于func代表函数的首地址,因此经过赋值以后,指针f就指向函数func(x)的代码的首地址。
回复

使用道具 举报

12

主题

68

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2012-11-14
在线时间
29 小时
发表于 2018-12-7 11:58:31 | 显示全部楼层
那如何使用mode?
回复

使用道具 举报

12

主题

68

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2012-11-14
在线时间
29 小时
发表于 2018-12-7 13:31:04 | 显示全部楼层
版主:為何我無法發貼???
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-30 17:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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