Tag: 内存访问

如何从C中的“原始”内存中读取/写入类型值?

我如何制作这样的作品呢? void *memory = malloc(1000); //allocate a pool of memory *(memory+10) = 1; //set an integer value at byte 10 int i = *(memory+10); //read an integer value from the 10th byte

为什么我的内存访问错误“双重免费或损坏”?

我收到以下类型的错误。 我知道它与我不正确地访问内存有关,但我不知道如何。 请帮我看看我哪里出错了。 *注意我已经简化了我的function,变量正在做什么并不明显,我只需要知道我是如何错误地实现函数或者我在滥用内存访问的地方。 int my_function(char const *file_name, size_t max) { myStruct.pStore = fopen(file_name,”w+”); //pStore is a FILE* myStruct.max = max; // fill the with zeros (‘0’) int numberOfZeros = max*SIZE; char zeros[numberOfZeros]; int i=0; while(i<numberOfZeros) // insert zero's { zeros[i]='0'; i++; } fwrite(zeros,sizeof(char),numberOfZeros,myStruct.pStore); fclose(myStruct.pStore); return EXIT_SUCCESS; 给出的错误: *** glibc detected *** /home/…/: double free […]