【发布时间】:2014-10-13 03:08:12
【问题描述】:
我收到此错误,在线搜索并没有解决,这是我的代码^^:
void addSoggetto(char* s)
{
soggetti_length++;
if(realloc(soggetti, soggetti_length*sizeof(int))==NULL)
{
printf("Realloc Failed");
return;
}
基本上我有一个指针数组 (soggetti) 及其长度 (soggetti_length)。
每次运行此函数时,我都会重新分配大小以便为另一个指针腾出位置。
他的问题,正是第五次调用该函数,我得到:
realloc(): invalid next size
你知道我该怎么做吗? 我想我可以排除我重新分配的内存不够,我绑起来增加它并且没有任何变化。 哦,我用 gdb 调试它,函数在返回之前崩溃,所以我什至没有得到类似 NULL 的返回
【问题讨论】:
-
一个可编译的例子会有所帮助。你的没有声明它使用的变量并且包含更多的
{而不是}。 -
int 和指针是 32 位的,但是是的,你是对的,它更好......虽然正如我所说,这不是解决方案,即使我分配 100 个字节来存储其中的 4 个,错误是一样的
-
对不起pascal,但是代码被分成了更多的文件,重要的部分是一个......在函数的第二部分我分配了一个对象并将他的指针存储在我刚刚的位置在数组上重新分配
标签: c pointers null size realloc