在flash模拟E2PROM实验中这个*(vu16*)faddr; 函数的理解

2019-07-20 23:26发布

*(vu16*)faddr; 总觉得将一个32位的地址强制转换为16位的指针,在取16位指针地址,不太理解怎么取出来的就是一个16位的数据了,然后将32位地址+2,就可以取下一个16位数据了,求大神解难
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
warship
2019-07-21 10:56
MCU的地址都是32位的,
地址(或说是指针)可以指向各种类型,
可以是8位变量、16位变量、32位变量、结构变量、函数入口、另一指针等等,
非常非常广泛和灵活,指针是C语言的精华,一定要搞懂。
一个指针被确定类型后,从这个指针取出的就是它指向类型的长度,
如果一个指针(对于MCU一定是32位长度的)指向的是16位变量(如vu16),
则从这个指针取出的就一定是一个16位值。

一周热门 更多>