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.