int nsize;int * buffer;char TargetBuffer[4096];const SIZE_T buffersize = (320*240) * sizeof(int);buffer = (int *) malloc(bufferSize);// fill buffer with datansize = 0;while(nsize < buffersize){ // HERE after some loops i get Access Violation memcpy(TargetBuffer,buffer + nsize,4096); // do stuff with TargetBuffer nsize += 4096;}
为什么我会收到访问冲突?我应该改变什么?
解决方法 当您添加缓冲区nsize时,您必须意识到您实际上正在添加缓冲区(nsize *(sizeof(int)),因为当您进行指针运算时它是一个int *.所以它可能与它有关.尝试通过nsize = 4096 / sizeof(int)或更聪明的东西递增nsize.
总结以上是内存溢出为你收集整理的指针算术中的访问冲突全部内容,希望文章能够帮你解决指针算术中的访问冲突所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)