Mi stavo chiedendo qualcosa sugli array multidimensionali e poi ho avuto un dubbio su un concetto, in particolare sulla loro rappresentazione in memoria.
Ad esempio, un array può essere definito come segue.
int a[3];
E questo è rappresentato come questo.

Doveognielementoèuninteroetuttisonoinunospaziodimemoriacontinuo.
Quindiunarraymultidimensionalepuòesseredefinitocomequesto.
inta[2][4];Cheètipicamenterappresentatocome.
Ma una rappresentazione più realistica di questo array in memoria non sarebbe qualcosa del genere? (per analogia con la prima immagine).
Perché stavo pensando che se, per esempio, int a[5]; definisce 5 interi in uno spazio di memoria continua, allora int a[5][10]; definisce 10 matrici di interi in uno spazio di memoria continua, dove ogni matrice definisce 5 interi, quindi qualsiasi array statico N-dimensionale in C dovrebbe essere rappresentato solo come una striscia di memoria.