Quick question about 2D arrays and pointers. Trying to input information into a 4x4 array and when I use the numbers 1-16 it repeats the numbers every time it goes to a new row. i.e.

1 2 3 4
4 5 6 7
7 8 9 10
10 11 12 13

instead of storing the numbers 1-16.

This is the code I'm trying, been to help websites and still having trouble.

Code:
void read_matrix(int *m)
{
int *p;
for(p = m; p < m + 16; p++)
   scanf("%d", p);
}
What I was trying to do was treat it like a single dimension array as that is what my textbook said could work. Any suggestions would be great.