Tipul înregistrare (struct)
O înregistrare este o structură neomogenă de date care definește o listă de variabile grupate sub un singur bloc de memorie.
Vom privi un struct ca un grup de variabile, fiecare din ele reprezentând un câmp.
Sintaxă
struct <nume_tip>{
<tip1> <câmp1>;
<tip2> <câmp2>;
...
<tipn> <câmpn>;
}<lista_variabile>;
- Unde:
<nume_tip>
este numele înregistrării, pe care îl vom putea folosi pentru a declara variabile de tipul descris în struct;<tip1>
este tipul de dată al unuia dintre câmpuri;<câmp1>
este numele variabilei care constituie de fapt un câmp;<lista_variabile>
reprezintă declarările imediate de variabile de acest tip; dacă înregistrarea are<nume_tip>
, va putea fi folosit pentru a declara alte variabile ulterior.
Exemplu
Dacă vrem să lucrăm într-un algoritm cu mai multe puncte dintr-un sistem de coordonate xOy, vom folosi o structură struct
pentru a ține minte ordonat coordonatele punctelor.
struct punct{
int x,y;
}v[1001];
punct aux;
Înregistrarea punct
conține două câmpuri (2 variabile) care corespund coordonatelor unui punct. După definirea câmpurilor, am definit un vector cu 1001 elemente care va ține minte date de tipul punct
.
Deoarece structura noastră are nume, putem declara ulterior și alte variabile (nu ne referim la câmpuri). După cum am exemplificat, am declarat o variabilă aux
de tipul punct
.
Referirea la câmpurile unei înregistrări
Pentru a ne referi la un câmp dintr-o înregistrare, vom folosi următoarea expresie:
<nume_var>.<nume_camp>
Exemplu
//Citirea a n puncte
for(int i=1; i<=n; i++)
cin>>v[i].x>>v[i].y;
Explicând și în cuvinte, ne vom referi la un câmp prin a scrie numele variabilei urmat de un punct, apoi de numele câmpului.