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 ?