Quote:
	
	
		| 
					Originariamente inviato da D4rkAng3l
					
				 Data una matrice (ad esempio int a[3][5]   perchè:
 
*(a[i] + j) corrisponde a a[i][j] ? | 
	
 
Cominciamo dall'inizio: a è un array di array di int.
Di conseguenza, a[i] è un array di int.
Nell'espressione "a[i]+j", j è un int, e a[i] viene convertito a un puntatore ad int, il cui valore è l'indirizzo dell'elemento di indice 0 dell'array a[i], ossia a[i][0].
Ma allora, il 
valore dell'espressione "a[i]+j", è l'indirizzo dell'elemento di indice j dell'array a[i] (in un array, gli elementi successivi sono consecutivi), e l'espressione in sé è di tipo puntatore a int.
Pertanto, quando applichi l'operatore di dereferenziazione all'oggetto a[i]+j, ottieni il valore contenuto nella locazione di memoria corrispondente all'elemento di indice j dell'array a[i]: e tale valore è proprio a[i][j].