Matrizes multidimensionais em C: eles são irregulares?

Uma pergunta simples sobre a linguagem de programação C (ANSI-C):

As matrizes multidimensionais em C são irregulares?

Quero dizer - estamos falando de "matriz de matrizes" (uma matriz de ponteiros para outros endereços na memória) ou esta é apenas "matriz unidimensional longa" (que é armazenada sequencialmente na memória)?

O que isso me incomoda é que tenho quase certeza de que:

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

questionAnswers(6)

yourAnswerToTheQuestion