Ciao a tutti ho un problema che proprio non riesco a capire...
ecco il coddice:
codice:
#include <stdio.h>
#include <stdlib.h>

int ** alloca_matrice (int righe, int colonne);
void dealloca_matrice(int **matrix, int righe);
void inizializza_matrice (int **matrix, int righe, int colonne);

main ()
{
	char *filename = "save.dat";
	FILE *fp;
	int **matrice = NULL, **matrice2;

	matrice = alloca_matrice(6,7);
	inizializza_matrice(matrice, 6,7);
	matrice2 = matrice;

	fp = fopen(filename, "wb");
	fwrite(matrice2, sizeof(int), 42, fp);
	fclose(fp);

	dealloca_matrice(matrice, 6);

	fp = fopen(filename, "rb");
	fread(matrice2, sizeof(int), 42, fp);
	fclose(fp);

	printf("\n\t%d\n", matrice2[0][0]);

	return 0;
}

int ** alloca_matrice (int righe, int colonne) 
{
	int **matrix, i;

	if(!(matrix= (int **) malloc (righe * sizeof(int *))))
		return(NULL);

	for (i=0; i<righe; i++) 
	{
		if(!(matrix[i]= (int *) malloc(colonne * sizeof(int))))
			return(NULL);
	}
	return(matrix);
}

void dealloca_matrice(int **matrix, int righe) 
{
	int i=0;
	
	for(i=0; i<righe; i++)
	{
		free(matrix[i]);
	}

	free(matrix);
}

void inizializza_matrice (int **matrix, int righe, int colonne) 
{
	int i, j;

	for (i=0; i<righe; i++) {
		for (j=0; j<colonne; j++) {

			matrix[i][j]= 0;
		}
	}
}
il problema è che dopo aver deallocato matrice, quando vado a caricare da file quello che avevo salvato e lo metto su matrice2 la printf finale mi stampa un numero tipo -1233242345. In pratica in matrice2 non mi si salva quello che io salvo su file.
Sto andando fuori di testa per questo problema .
Grazie.