Gioco con i pointer.

Una matrice e' memorizzata in memoria per righe ad indirizzi consecutivi.
1) Definire una matrice di 10 X 10 int
2) Definire un puntatore p al primo elemento della matrice.
3) Inserire i valori da 1 a cento nella matrice, usando solo il puntatore p
3.1) Visualizzare la matrice
4) Scrivere su file la matrice al rovescio utilizzando sempre il puntatore p


#define MAX 10
int m[MAX][MAX];

int *p=&m[0][0]; // p punta al primo elemento della matrice

int i,j;
for(i=0; i < MAX*MAX; i++)   // metto elementi nella matrice
	*p++=i+1;
	
for(i=0; i < MAX; i++) // visualizzo la matrice
{
	for(j=0; j < MAX; j++)
		printf("%3d ",m[i][j]);
	printf("\n");
}

FILE *fd=fopen("matrice.txt","w");
p--; 
int i=0;  // per invio nel file
while(p >= &m[0][0]);
{
	fprintf(fd,*p--);
	i++;
	if (i %10 == 0) 
		fprintf(fd,"\n");
} 
