理解得不对。
如果这个嵌入式平台 sizeof(unsigned int) == 4的话,
是将地址0x40001000 ~ 0x40001003处的这4个字节作为unsigned int取出来,然后与0x400进行bit AND。
这个平台从0x40000000处开始估计是映射的一段特殊的数据,至于是什么数据,得查硬件手册。
C里面指针和数组可以等价使用,唯一的区别是数组指定了元素个数。
这段内存是特殊数据,只要按照硬件手册来访问、不越界就行。
【 在 chglele 的大作中提到: 】
: 谢谢!
: 我从你的code中理解的是,先返回地址为0x40000400的值,这个值是unsigned int(32 bit), 然后再与上第10位,就是最终真正返回的值?
: 这种取值方式有办法保证不越界么,我记得数组指针都会预先定义大小的啊,但是在当前codw中没有看到啊
: ...................
--
修改:z16166 FROM 114.241.227.*
FROM 114.241.227.*