Non vorrei dire stupidaggini però credo che sia così

Essendo M una matrice bidimensionale, M[i] non è che l'indirizzo del primo elemento dell'i-esima riga della matrice (ecco spiegato il numero grande che sembra casuale).

Dovresti tenere presente che la tua matrice è bidimensionale e quindi tenere fissa una delle due dimensioni e far scorrere l'altra (M[0][0], M[0][1], M[0][2]... M[0][9]).