A seguito di questo commento , ho cercato di google perché, ma il mio google-fu fallito.
Commento dal link:
[...] Ma la cosa importante è che gli array e i puntatori sono cose diverse in C.
Supponendo che non si stia utilizzando alcuna estensione del compilatore, in genere non è possibile passare un array stesso a una funzione, ma è possibile passare un puntatore e indicizzare un puntatore come se fosse un array.
Ti stai effettivamente lamentando che i puntatori non hanno lunghezza allegata. Dovresti lamentarti del fatto che le matrici non possono essere passate come argomenti di funzione o che le matrici si degradano implicitamente in puntatori.