Ammettiamo di avere una matrice, definita in questo modo, come se fosse un array di array:
Matrice = ((1, 2, 3), 
                 (4, 5, 6),
                 (7, 8, 9))

Appare virtualmente impossibile fare stare colonne e righe insieme in un solo vettore. Eppure, possiamo riscrivere la tabella di sopra in questo modo:
Matrice = ((1, 2, 3), (4, 5, 6), (7, 8, 9))

Ora, basta togliere le parentesi che definiscono i singoli vettori all'interno per ottenere una comune lista di elementi:
Matrice = (1, 2, 3, 4, 5, 6, 7, 8, 9)

Ma come si rappresenta questo procedimento a livello di codice?

Ipotizziamo di avere un'altra matrice, di R righe e C colonne. Se ripetiamo il processo sopra illustrato, avremo che il primo elemento della prima riga risulta trovarsi alla posizione 0 del vettore finale (infatti 1 è alla posizione 0), mentre il primo elemento della riga successiva si trova a una distanza dall'inizio del vettore pari alla larghezza della tabella, ossia pari al numero di colonne C (infatti 4 è alla posizione 3, e la matrice ha larghezza 3). Seguendo questo ragionamento, si ha che il primo elemento della n-esima riga si trova alla posizione (n - 1)C nel vettore. Per ottenere la posizione degli elementi successivi all'interno della stessa riga, il procedimento è molto semplice: consideriamo il k-esimo elemento della n-esima riga; esso è, ovviamente, (k-1) posti distante dal primo elemento, che abbiamo appurato avere un indice di (n-1)C. In conclusione, in una generica matrice di  R righe per C colonne trasposta in un vettore a una dimensione, l'elemento di posizione (n,k) nella matrice (dove 0<n<R+1 e 0<k<C+1) ha posizione nel vettore:
(n - 1) * C + (k - 1)

Questo tipo di matrici/vettori può essere chiamato Array Tabulare.