Ho risolto in questo modo:
codice:
#include <malloc.h>
#include <stdio.h>
int** leggi(int,int);
void stampa(int**,int,int);
int main(){
int a,b;
int *(*matrix);
printf("Dammi il numero di righe: ");
scanf("%d",&a);
printf("Dammi il numero di colonne: ");
scanf("%d",&b);
matrix=leggi(a,b);
printf("\n");
stampa(matrix,a,b);
return 0;
}
int** leggi(int a,int b){
int **matrix;
int i,j;
matrix=(int**)malloc(a*sizeof(int*));
for(i=0;i<a;i++){
matrix[i]=(int*)malloc(b*sizeof(int));
}
for(i=0;i<a;i++){
for(j=0;j<b;j++){
printf("Dammi la posizione %d %d: ",i,j);
scanf("%d",&matrix[i][j]);
}
}
return matrix;
}
void stampa(int** matrix,int a,int b){
int i,j;
for(i=0;i<a;i++){
for(j=0;j<b;j++){
printf("%d ",matrix[i][j]);
}
printf("\n");
}
}
Grazie per il prezioso aiuto.