Innanzi tutto grazie per la risposta 
dunque ho seguito il tuo consiglio, quando vado a salvare la matrice, prima salvo il numero delle righe e delle colonne.
Poi ho fatto questa funzione che dovrebbe tirarmi fuori la matrice:
codice:
int **loadMatrice(char *pathFile, int *righe,int *colonne){
FILE *my_file;
my_file = fopen(pathFile,"r");
int **Matrice;
int i,j;
if(my_file){
fscanf(my_file,"%d",righe);
fscanf(my_file,"%d",colonne);
Matrice = allocaMemoriaMatrice(*righe,*colonne);
if(Matrice != NULL){
for(i = 0; i < *righe; i++){
for(j = 0;j < *colonne; j++){
fscanf(my_file,"%d",&Matrice[i][j]);
/* Matrice[i][j] = 1 ok */
}
}
}
return Matrice;
}else{
return 0;
}
}
dove
codice:
allocaMemoriaMatrice(int righe,int colonne)
è una funzione che alloca dinamicamente la memoria per una matrice, il problema è questo:
se assegno staticamente(come nel commento) un valore alla matrice funziona alla perfezione, se invece utilizzo
codice:
fscanf(my_file,"%d",&Matrice[i][j]);
quando vado a visualizzare la matrice escono fuori tutti valori sballati...eppure il numero delle righe e delle colonne viene correttamente letto e assegnato ai valori righe e colonne(ho testato).
Dove sto sbagliando..?
Grazie ancora per la pazienza..