读书人

请问 :(unsigned long*)(addr+4*i)=0x

发布时间: 2012-03-24 14:00:46 作者: rapoo

请教 :*(unsigned long*)(addr+4*i)=0xffffffff 是什么意思啊!
请教 :*(unsigned long*)(addr+4*i)=0xffffffff 是什么意思啊!

[解决办法]
具体情况具体分析

从addr地址开始后移 4*i addr类型的单位长度,并将该地址的内容强制转化成long类型
[解决办法]
把addr+4*i指针转换为unsigned long(无符号长整型)指针,并赋值给指针的内容值为0xffffffff
[解决办法]
:*(unsigned long*)(addr+4*i)=0xffffffff

多用在寄存器的控制中

addr 可以理解为入口地址

addr + 4*i (i > =0)

这样以 unsigned long 型递增

然后把0xffffffff写到这个连续的地址里


呵呵,有个性



[解决办法]
从4*i来看. 这个addr应该是一个char*;
我分析这段代码的意思是把addr所辖的内存区域,用0xff填充.

不明白作者为什么不用memset函数.

读书人网 >C语言

热点推荐