Tablouri multidimensionale

Tablourile multidimensionale nu sunt limitate la dimensiunea doi. Pot fi, astfel, utilizate tablouri tridimensionale, patrudimensionale etc. Limita este impusă în aceste cazuri, în primul rând, de posibilităţile hardware ale computerelor. Dacă am dori să declarăm un vector pentru păstrarea unor date calendaristice complexe, de tip an, zi, ora, minut, secundă, am crea următorul tablou: char data[100][365][24][60][60]; Trebuie să fim conştienţi, însă, că un asemenea tablou ar ocupa 100x365x24x60x60x1Byte, adică 3153600000 Bytes, ceea ce reprezintă aproximativ 3 GB.

În practică, utilizarea tablourilor multidimensionale poate fi evitată prin utilizarea unor vectori a căror dimensiune este mărită pentru a putea memora acelaşi număr de elemente. Următoarele variabile, una de tip vector, una de tip matrice (tablou bidimensional) sunt din acest punct de vedere, echivalente. int m[10][10], v[100]; Mai jos putem vedea două exemple echivalente în care un tablou bidimensional este înlocuit printr-unul unidimensional. În ambele cazuri, tablourile vor reţine valorile de la 0 la 14. Dispunerea lor diferă, precum diferă şi modul în care compilatorul va accesa indecşii elementelor.