5155| 8
|
*(Uint16*)0x45000请问这个有几个意思呀? |
5金钱
最佳答案运算的结合律是从右至左。
0x45000是立即数,
(Uint16*)0x45000就是将立即数转换成指针,指向的数据类型是Uint16,
最后再在前面加*,就是获取该指针指向的地址所存储的内容。
假如地址0x00045000和0x00045001中存储的内容分别是0x12,0x34 (按小端存储)
有Uint16 n=*(Uint16*)0x45000,则n=0x3412。
而Uint16 n=*(Uint8*)0x45000,则n=0x0012。
若Uint16 n=*(Uint8*)0x45001,则n=0x0034。
| ||
| ||
| ||
| ||
| ||
| ||
原子哥是不是又要出黑科技了呀。^_^...
|
||
| ||
| ||
| ||
|手机版|OpenEdv-开源电子网
( 粤ICP备12000418号-1 )
GMT+8, 2025-6-20 13:52
Powered by OpenEdv-开源电子网
© 2001-2030 OpenEdv-开源电子网