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

2020-01-04 19:01发布

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

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

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

网上找了好久,没找到相关资料
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
38条回答
myqiang1990
2020-01-06 02:42
回复【14楼】Crazy Rain
-----------------------------------------------------------------------

举一个浅的例子吧...
u16 a;
u16 *ptr=&a;//这句话就是(u16 *) (Bank1_SRAM3_ADDR + WriteAddr),那么&a的值就是(Bank1_SRAM3_ADDR + WriteAddr)把它付给ptr后,ptr就变成了(u16 *) (Bank1_SRAM3_ADDR + WriteAddr)...-------------(1)

那么我们怎么赋值给p所指向的地址啊?不可能是ptr=*pBuffer++; 是吗??你见过有这样用的吗?不是大错特错吗?
正确的应该是*ptr=*pBuffer++;你吧(1)替换进来不就是你那个句话吗?

一周热门 更多>