Non riesco a capire il motivo per cui nell'esecuzione mi dia un errore del tipo "realloc() invalid next size".
É abbastanza urgente, grazie in anticipo


codice:
#include<stdio.h>
#include<stdlib.h>
int main(void){
int i = 0, j;
double *a, *b;
a = (double *)malloc(1*sizeof(double));
b = (double *)malloc(1*sizeof(double));
FILE *fp;
if ((fp=fopen("file.dat", "r"))==NULL){
printf("Errore nell'apertura del file.\n");
exit(EXIT_FAILURE);
}
while(!feof(fp)){
fscanf(fp,"%lf %lf", (a+i), (b+i));
i++;
a = (double *)realloc(a, i*sizeof(double));
b = (double *)realloc(b, i*sizeof(double));
}
for(j=0; j<i; j++){
printf("%.8lf %.8lf\n",*(a+j), *(b+j));
}
}