realloc():invalid next size....错误

Author:SuperDeveloper
Date:2018/1/2

在程序中使用了realloc函数,更改结构体数组的大小,错误代码如下:

struct point * p=(struct point *)malloc(10);
............
while(1){
    ............................
    p=realloc(p,new_size);          //new_size大概在224*sizeof(struct point)
    ..........................

}

结果报错:realloc():invalid next size

主要原因是初始化结构体数组的时候malloc给的大小与realloc给的大小差异太大了,改成:

struct point * p=(struct point *)malloc(224*sizeof(struct point *));

再编译就好了

你可能感兴趣的:(linux)