Matrices multidimensionales en C: ¿son irregulares?

Una pregunta simple sobre el lenguaje de programación C (ANSI-C):

¿Las matrices multidimensionales en C son irregulares?

Quiero decir, ¿estamos hablando de "matriz de matrices" (una matriz de punteros a otras direcciones en la memoria), o esto es simplemente "matriz unidimensional larga" (que se almacena secuencialmente en la memoria)?

Lo que me molesta es que estoy un poco seguro de que:

matrix[i][j] es equivalente a* ( * (matrix + i) + j)

Respuestas a la pregunta(6)

Su respuesta a la pregunta