Salve a tutti,
leggendo il seguente codice:
codice:
#include <stdio.h>
#define M 3

typedef int matrix [M][M];

void leggi(matrix);
void stampa(matrix);

int main()
{
	matrix m;
	
	printf("Leggi matrice %dx%d\n",M,M);
	leggi(m);
	puts("Matrice inserita");
	stampa(m);

}

void leggi(matrix m)
{
	int i,j;
	for(i=0;i<M;i++)
	{
		for(j=0;j<M;j++)
			scanf("%d",&m[i][j]);
	}
}
void stampa(matrix m)
{
	int i,j;
	for(i=0;i<M;i++)
	{
		for(j=0;j<M;j++)
			printf("%d\t",m[i][j]);
		putchar('\n');
	}
}
noterete che ho passato alle funzioni leggi e stampa, una matrice. In questo caso per valore.
A questo punto, mi è sorto un dubbio: perchè i dati che vengono presi in input nella funzione leggi, vengono collocati nella matrice ( m ) definita nel main ?
Io non passo l'indirizzo della matrice, giusto ?