または、 Facing an error — glibc detected free invalid next size (fast) の複製。
このコードをコンパイルして実行すると、「realloc(): 次のサイズが無効です: 0x0000000002483010」というエラー メッセージが表示されます。
過去6時間、これに対する解決策を見つけようとしてきましたが、運がありません..
これが私のコードの関連部分です-
#include<stdio.h>
#include<stdlib.h>
typedef struct vertex
{
char* name;
int id;
int outDegree;
}vertex;
int main(){
vertex *tmpVertice;
vertex *vertices = (vertex*)calloc(1, sizeof(vertex));
int p=1;
while(p<20){
vertex temp={"hi",p,0};
vertices[p-1]=temp;
tmpVertice=(vertex*)realloc(vertices,p);
if(tmpVertice!=NULL) vertices=tmpVertice;
p++;
}
return 0;
}