[STM32F4] 这个函数定义,大神能给讲解下么?

[复制链接]
2006|18
 楼主| match007 发表于 2021-10-12 09:50 | 显示全部楼层 |阅读模式
void      (* XferCpltCallback)( struct __DMA_HandleTypeDef * hdma);  

倒来倒去,一加*就倒乱了~~~
fangyuanshan 发表于 2021-10-12 16:31 | 显示全部楼层
XferCpltCallback是个函数指针
diweo 发表于 2021-10-12 17:02 | 显示全部楼层
这个不是函数定义,而是变量定义,这个变量是个函数指针变量,它的类型是 void (*)( struct __DMA_HandleTypeDef * hdma)
andygirl 发表于 2021-10-14 10:52 | 显示全部楼层
也遇到过这种,
就是用的时候,照葫芦画瓢了~~~
我的C学的一般~~
renzheshengui 发表于 2021-11-3 14:33 | 显示全部楼层
只有函数头吗
wakayi 发表于 2021-11-3 14:35 | 显示全部楼层
如何区分函数定义和变量定义呢
wowu 发表于 2021-11-3 14:38 | 显示全部楼层
应该是一个指针
xiaoqizi 发表于 2021-11-3 14:43 | 显示全部楼层
这是函数指针变量
tpgf 发表于 2021-11-3 14:45 | 显示全部楼层
我就是画瓢了
木木guainv 发表于 2021-11-3 14:49 | 显示全部楼层
用的时候就糊涂了
heimaojingzhang 发表于 2021-11-3 14:52 | 显示全部楼层
一遇上指针就乱乎了
 楼主| match007 发表于 2021-11-5 15:01 | 显示全部楼层
diweo 发表于 2021-10-12 17:02
这个不是函数定义,而是变量定义,这个变量是个函数指针变量,它的类型是 void (*)( struct __DMA_HandleTy ...

感谢指导
还是模模糊糊的感觉
diweo 发表于 2021-11-6 10:13 | 显示全部楼层
match007 发表于 2021-11-5 15:01
感谢指导
还是模模糊糊的感觉

普通变量定义:          int Var;
普通指针变量定义:   int* pVar;
普通函数声明:         void func1();
对应的函数指针定义: void (*func1)();  
      和普通指针定义类似,函数指针也是加一个*,只不过这里不能把括号去掉之后写成void *func1();因为这种写法其实就是 void* func1();可见,它也是一个普通函数的声明,只是返回值类型变了而已。
函数指针的调用:     (*func1)();
      调用的时候和定义的时候有点区别,可以去掉括号直接写成 func1(); 因为没有返回值类型,不会产生歧义了。
函数指针的类型:  普通函数的声明由  返回值类型 函数名称(参数类型列表) 组成,对应的函数指针类型就是 返回值类型 (*)(参数类型列表)
 楼主| match007 发表于 2021-11-16 13:06 | 显示全部楼层
diweo 发表于 2021-11-6 10:13
普通变量定义:          int Var;
普通指针变量定义:   int* pVar;
普通函数声明:         void func1 ...

不是感谢,是非常感谢!!
zchong 发表于 2021-11-16 21:40 | 显示全部楼层
函数指针,看书
SantaBunny 发表于 2023-3-5 16:33 | 显示全部楼层
这里是定义了一个函数指针成员
Stahan 发表于 2023-3-5 19:33 | 显示全部楼层
这是函数指针变量
童雨竹 发表于 2024-5-1 08:18 | 显示全部楼层

电路的结构类似于全桥式,只是把其中的两只开关管(T3、T4)换成了两只等值大电容C1、C2。
Wordsworth 发表于 2024-5-1 09:21 | 显示全部楼层

通过对于PCB电路板边缘的孔或通孔做电镀石墨化
Clyde011 发表于 2024-5-1 10:24 | 显示全部楼层

根据这些指标,测试员可以评估电源的性能和可靠性。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

97

主题

607

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部