求救大虾!这三段代码说的是啥意思?
ptBuffer=(UINT8*)malloc(1024) ptemp=ptBuffer
*(ptemp+0)=(UINT8)((uLength)&off);
*(ptemp+1)=(UINT8)(((uLength)>>8)&off);
给ptBuffer分配1K的内存,ptemp指向ptBuffer。
后面两段分别在ptBuffer的两个地址存放东西,我不明白做什么用的。好像是调整字节序,但不明白如何实现。
==================================================
for(i=0;i<uLTempLength/4);i++)
{
for(j=0;j<4;j++)
{
*(ptempvalue+3-j)=*(ptemp+i*4+j);
}
*(((UINT32*)ulBufferAddr)+i)=((UINT*)ptempvalue);
}
ulBufferAddr=ulBufferAddr+uLTempLength;
PS:ptempvalue分配了4字节的内存空间,
这一段主要不明白这两个循环在做什么。感觉是把一段内存的东西搬移到另外一个内存。
=========================================
if(xwAllength%4==1)
{
xwvalue=(UINT32)(*((UINT*32)(ptemp+uLTempLength)));
xwvalue=(UINT32)(xwvalue>>24);
}
这个右移起什么什么用?
以前学硬件的,最近开始学C,遇到些问题,请大虾帮忙看看啦。