请教大神,*(u16 *)中右边的*号是什么意思?

2020-01-04 19:01发布

在STM32  FSMC配置里看到这样一句

*(u16 *) (Bank1_SRAM3_ADDR + WriteAddr) = *pBuffer++;

请问*(u16 *)中,u16后面的*号是什么意思?

网上找了好久,没找到相关资料
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
37条回答
Crazy_Rain
1楼-- · 2020-01-06 06:38
回复【15楼】myqiang1990  小松鼠
-----------------------------------------------------------------------

明白了,谢谢~
XL_J
2楼-- · 2020-01-06 08:46
 精彩回答 2  元偷偷看……
xnliuxiwen
3楼-- · 2020-01-06 08:52
楼上*( ( void(*)())0x0000 ) )() 在KEILV3中编译不过,改为(*(((void(*)())0x0000 )))() ;或(((void(*)())0x0000 ))();编译OK执行OK; 刚毕业的时候研究过这个。现在想想为什么(*p)()跟p()执行结果一样?我现在理解函数名就是地址。*p的内容是地址。p是指向函数的指针。所以结果一样?
Crazy_Rain
4楼-- · 2020-01-06 11:44
楼上两位大虾的语句表示完全看不懂。。。。
oldmen
5楼-- · 2020-01-06 16:09
学习下。新手
xizi
6楼-- · 2020-01-06 21:53
(((void(*)())0x0000 ))() 是函数指针问题,比起变量指针,是难了点。相信楼主会逐渐进阶上去。我也曾经害怕过指针,更恐惧过函数指针,实践中闯过来就好多了。建议读一下这本书:
点击此处下载 ourdev_708906CMJEEO.pdf(文件大小:898K) (原文件名:ourdev_466338_C语言深度解剖.pdf)

一周热门 更多>