Ciao a tutti ricevo questo errore alla compilazione : subscripted value is neither array nor pointer

Il programma in questione è questo

#include<stdio.h>
#include<stdlib.h>

int *matrix;
int m,n,i,j;
int main()
{
printf("Scrivi righe e colonne della matrice\n");
scanf("%d %d",&m,&n);

matrix=malloc(m*n*sizeof(int));

for(i=0;i<m;i++)
for(j=0;j<n;j++){
printf("Inserisci il valore al posto %d.%d\n",i,j);
scanf("%d",matrix[i][j]);}

}