Ciao! Ho la seguente porzione di codice C:

main()
{
float *x;
x=(float*) malloc (16000*sizeof(float));

i=0;
if ((filedati=fopen("a.txt","r"))==NULL)

printf("File non presente\n");

else

for (stato=fscanf(filedati,"%f",&x[i]);stato!=EOF;stato=fscanf(filedati,"%f",&x[i]))

i++;

a e' un file con 16000 elementi che devo inserire nel vettore x. Il programma e' stato compilato con GCC usando il software Anjuta. Il compilatore non mi segnala nessun problema, ma in fase di run il programma termina segnalando segmentation fault.
Ora sto operando sotto Linux. Lo stesso programma, invece, eseguito sotto Windows con CodeBlocks e senza usare la malloc non mi crea problemi e funziona correttamente. Perche'?

Grazie.