memcpy奇怪的有关问题

memcpy奇怪的问题
代码如下
UINT   elemSize   =   56;
UINT   elemCount   =   20000;
BYTE   *   pTmpVB   =   new   BYTE[   elemSize   *   elemCount   ];
float   data   =   1.0f;
for(   UINT   i=0;   i   <   elemCount;   i++   )
{
pTmpVB   +=   i   *   elemSize;
memcpy(   pTmpVB   +   52,   &data   ,   sizeof(float)   );
}


上述代码出错,报告
写入位置   0x01b10b28   时发生访问冲突

如果把elemCount改很小,例如100就不出错,1000以上就出错。关键在于for循环不能太大。

是不是memcpy在做变址寻址时,动态范围不能太大?解决办法是什么?在线等。




------解决方案--------------------
是不是memcpy在做变址寻址时,动态范围不能太大?没有任何范围限制.

是你的程序 越界了,仔细看一下算法.
确定pTmpVB += i * elemSize;这里对么