gpt4 book ai didi

c - 指针运算中的访问冲突

转载 作者:太空狗 更新时间:2023-10-29 15:49:01 25 4
gpt4 key购买 nike

代码:

int nsize;
int * buffer;
char TargetBuffer[4096];
const SIZE_T buffersize = (320*240) * sizeof(int);


buffer = (int *) malloc(bufferSize);
// fill buffer with data

nsize = 0;
while(nsize < buffersize)
{
// HERE after some loops i get Access Violation
memcpy(TargetBuffer, buffer + nsize, 4096);


// do stuff with TargetBuffer
nsize += 4096;
}

为什么我会遇到访问冲突?我应该改变什么?

最佳答案

当您添加 buffer + nsize 时,您必须意识到您实际上是在添加 buffer + (nsize * (sizeof(int)) 因为它是一个 int * 当你在做指针运算时。

所以这可能与它有关。尝试将 nsize 增加 nsize += 4096/sizeof(int) 或更聪明的东西。

关于c - 指针运算中的访问冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14502013/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com