Declararea tablorilor

Un tablou este o colectie de elemente de acelasi tip, plasate in locatii de memorie succesive, care pot fi accesate individual cu ajutorul unui index unic, ce caracterizeaza identificatorul. Prin urmare, dacă ar trebui să reţinem, spre exemplu, cinci valori întregi, în loc să declarăm cinci variabile de tip int, vom declara un tablou cu cinci elemente, de acest tip.

Astfel, fiecare valoare va putea fi accesată printr-un index, folosind acelaşi identificator. O reprezentare a unui asemenea tablou poate fi considerată imaginea următoare. Identificatorul acestuia este a, iar componentele sale sunt identificate prin indecşii 0, 1, 2, 3, 4. Reţinem, cu această ocazie, că C++ indexează, în mod implicit, tablourile de la valoarea 0. Astfel, al i-lea element va avea în tablou indexul i-1. Ca oricare altă variabilă, în C++ tablourile trebuie declarate. Sintaxa generală a acestei operaţii este: tip_date identificator_tablou[nr_elemente]; Tip_date poate fi orice tip de date simplu, precum int sau float, ori un tip de date definit de utilizator.

Identificator_tablou trebuie să fie un identifator valid, iar nr_elemente, întotdeauna plasat între paranteze drepte, specifică lungimea tabloului, exprimată în numărul maxim de elemente pe care le poate conţine. Trebuie reţinut că acest număr trebuie exprimat printr-o constantă, pentru că tablourile sunt blocuri statice de memorie a căror dimensiune trebuie determinată în momentul compilării, înainte de rularea programului. Declararea tabloului reprezentat în imaginea de mai sus poate arăta astfel: int a[5]; Un element important de urmărit este dimensiunea memoriei pe care  compilatorul o va aloca în urma declarării unui tablou.

Astfel, pentru  exemplul anterior, va fi rezervat un bloc de memorie de 5x2 octeți, 5 fiind  dimensiunea vectorului a, iar 2 numărul de octeți necesari păstrării unei variabile int. Pentru a ne convinge de corectitudinea calcului, putem utiliza operatorul sizeof, într-o sintaxă de tipul: cout<<sizeof(a); Rezultatul ar fi,e vident, 10.