CATEGORII DOCUMENTE |
Tablouri unidimensionale
Un tablou este o colectie de variabile de acelasi tip care sunt referite printr-un nume comun. In C, un tablou consta din locatii de memorie contigue. Adresa cea mai mica corespunde primului element, iar adresa cea mai mare corespunde ultimului element. Un tablou poate avea de la una la mai multe dimensiuni. Accesul la un element specific al tabloului se face utilizand un index. Cel mai utilizat tablou este tabloul de caractere. Sirurile de caractere pot fi definite prin conceptele: vector de caractere si pointer-caracter.
Declararea unui tablou cu o singura dimensiune are urmatoarea forma generala:
tip var_nume[size];
Aici, tip, declara tipul de baza al tabloului. Tipul de baza determina tipul de data al fiecarui element al tabloului. var_nume este numele tabloului, iar size este numarul elementelor pe care le va contine tabloul. Exemple:
int a[10]; // vectorul a contine 10 intregi
float v[3]; // vectorul v contine 3 reali
In C toate tablourile folosesc pe zero ca index al primului lor element. Elementele tabloului a[10] sunt a[0],,a[9].
Exemplu: Programul urmator incarca un tablou de intregi cu numerele de la 0 la 9:
void main (void)
Pentru un tablou unidimensional, dimensiunea totala, in bytes, a acestuia va fi:
Total bytes = sizeof (tip) * lungimea_tabloului
Observatie: Limbajul C nu realizeaza verificarea dimensiunilor unui tablou: astfel, nu exista nimic care sa ne opreasca sa nu trecem peste sfarsitul tabloului. Daca se trece peste sfarsitul unui tablou intr-o operatie de atribuire, atunci se vor atribui valori unor alte variabile sau chiar se vor distruge parti din program.
Exemplu: Desi urmatorul program este incorect, compilatorul C nu semnaleaza nici o eroare:
void main (void)
Se observa ca bucla se itereaza de 100 de ori, desi vectorul crash contine numai 10 elemente. Aceste verificari raman in sarcina exclusiva a programatorului.
Tablourile unidimensionale sunt, de fapt, liste de informatii de acelasi tip. De exemplu, prin rularea programului:
char ch[7];
void main (void)
vectorul "ch" arata astfel:
ch(0) ch(1) ch(2) ch(3) ch(4) ch(5) ch(6)
A |
B |
C |
D |
E |
F |
G |
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 898
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved