int
pot fi declarate ca un vector fără a fi necesară declararea a cinci variabile diferite (fiecare cu propriul identificator). Intr-adevăr, folosind un vector, cele cinci valori de tip int
sunt stocate în locații de memorie continuă și toate cinci pot fi accesate folosind același identificator, dar cu index-ul potrivit.int
denumit foo
ar putea fi reprezentat astfel:int
. Aceste elemente sunt numerotate de la 0 la 4, primul fiind pe poziția 0 și 4 indicându-l pe ultimul; în C++, primul element dintr-un vector este totdeauna numerotat cu zero (nu cu unu), indiferent de lungimea vectorului.
tip nume [nr_elemente];
tip
este un tip de dată valid (precum int
, float
...), nume
este un identificator valid și câmpul nr_elemente
(care este întotdeauna închis între paranteze drepte []
) precizează lungimea vectorului prin numărul de elemente.foo
, cu cinci elemente de tip int
, poate fi declarat astfel:
|
|
nr_elemente
dintre parantezele drepte []
, reprezentând numărul de elemente ale vectorului, trebuie să fie o expresie constantă, deoarece vectorii sunt blocuri de memorie statică a căror dimensiune trebuie să fie cunoscută la momentul compilării, înainte ca programul să ruleze.
|
|
{}
nu ar trebui să fie mai mare decât numărul elementelor din vector. De exemplu, mai sus foo
a fost declarat ca având 5 elemente (așa cum precizează numărul dintre parantezele drepte []
) și acoladele {}
conțin exact 5 valori, una pentru fiecare element. Dacă s-ar fi precizat mai puține, elementele rămase ar fi fost setate la valorile lor implicite (care pentru tipurile de date fundamentale înseamnă valori zero). De exemplu:
|
|
|
|
int
, fiecare dintre ele fiind inițializată cu o valoare zero:[]
necompletate. În acest caz, compilatorul va dimensiona automat vectorul la numărul de valori incluse între acolade {}
:
|
|
foo
ar avea lungimea a cinci valori int
, deoarece noi am furnizat cinci valori de inițializare.
|
|
nume[index]
foo
avea 5 elemente și fiecare dintre aceste elemente era de tip int
, numele folosit pentru referirea fiecărui element este următorul:foo
:
|
|
foo
într-o variabilă numită x
:
|
|
foo[2]
este ea însăși o variabilă de tip int
.foo
este precizat cu foo[2]
, deoarece primul este foo[0]
, cel de-al doilea este foo[1]
și, de aceea, al treilea este foo[2]
. Din același motiv, ultimul său element este foo[4]
. De aceea, dacă am scrie foo[5]
, am putea să accesăm al șaselea element al lui foo
, dar, de fapt, s-ar depăși dimensiunea vectorului.[]
în legătură cu vectorii. Se execută două sarcini diferite: una ajută la precizarea dimensiunii vctorilor când sunt declarați; cea de-a doua precizează indicii pentru anumite elemente ce trebuie accesate. Să nu confundați aceste două posibilități de folosire a parantezelor drepte []
cu vectori.
|
|
|
|
|
|
12206 |
jimmy
reprezintă un tablou bidimensional (matrice) de 3 vectori a câte 5 elemente de tip int
. The C++ syntax for this is:
|
|
|
|
|
|
char
pentru fiecare al doilea dintr-un century. Aceasta ajunge la mai mult de 3 bilioane de char
! Astfel incât această declarație ar consuma mai mult de 3 gigabytes de memorie!
|
|
tablou multidimensional | tablou pseudo-multidimensional |
---|---|
|
|
|
|
int
" denumit arg
. Pentru a transmite acestei funcții un tablou, el trebuie declarat astfel:
|
|
|
|
|
|
5 10 15 2 4 6 8 10 |
int arg[]
) acceptă orice tablou ale cărui elemente sunt de tip int
, indiferent de lungime. De aceea, am inclus un al doilea parametru care îi precizează funcției lungimea fiecărui tablou ce va fi transmis ca prim parametru. Aceasta face ca repetiția for care afișează tabloul să știe în ce interval să itereze tabloul, fără a-i depăși limitele.
|
|
|
|
[]
nu are nimic completat, în timp ce în următoarele se precizează mărimile pentru respectivele dimensiuni. Acest lucru este necesar, astfel încât compilatorul să poată determina adâncimea pentru fiecare nouă dimensiune.<array>
.data
).tablouri predefinite | tablouri container |
---|---|
|
|
tabloul_meu[i]
. În rest, principala diferență constă în declarația tabloului și includerea suplimentară a unui fișier antet biblioteca array. De asemenea, observați cât este de ușor de accesat dimensiunea tabloului de bibliotecă.![]() Vizibilitatea numelor | ![]() Index | ![]() Șiruri de caractere |