Ce sunt structurile?
Conceptul de structură, cum se definește și când se folosește.
Ce este o structură
Structuri în C/C++
Structurile apar foarte des la BAC, în special la exercițiile în care trebuie:
- să citești corect câmpurile unei variabile de tip structură
- să construiești definiția unei structuri pornind de la expresii date
- să lucrezi cu structuri în structuri
- să lucrezi cu vectori de structuri
- să lucrezi cu tablouri în interiorul unei structuri
- să recunoști atribuiri corecte între structuri de același tip
Ce este o structură
O structură este un tip de date care grupează mai multe informații despre același obiect.
Ideea este simplă: în loc să folosim mai multe variabile separate, putem crea un singur tip nou care le conține pe toate.
Exemplu
Dacă vrem să memorăm o dată calendaristică, avem nevoie de:
- zi
- lună
- an
În loc să folosim trei variabile separate, putem scrie:
struct data {
int zi, luna, an;
} x;Aici:
dataeste eticheta structuriizi,luna,ansunt câmpurile structuriixeste o variabilă de tipdata
Cu alte cuvinte, x conține simultan:
x.zix.lunax.an
Cum accesăm câmpurile
Pentru a accesa un câmp al unei structuri, folosim punctul.
Exemple:
x.zi
x.luna
x.anDacă vrem să citim valorile, scriem:
cin >> x.zi >> x.luna >> x.an;Scheletul general
Acesta este modelul pe care trebuie să îl știi foarte bine:
struct eticheta {
tipcamp1 camp1;
tipcamp2 camp2;
tipcamp3 camp3;
} variabila;Exemplu concret
struct elev {
char nume[31];
int varsta;
float medie;
} e;Aici:
eleveste etichetanume,varsta,mediesunt câmpurieeste variabila declarată
Ce tipuri pot avea câmpurile
Un câmp dintr-o structură poate fi:
- tip simplu:
int,float,double,char - tablou:
int v[10],char s[51] - altă structură
Exemplu:
struct data {
int zi, luna, an;
};
struct elev {
char nume[31];
data dataNasterii;
} e;Aici, dataNasterii este câmp de tip structură.