Programowanie i algorytmy

Struktury zagnieżdżone

powrót

Zagnieżdżanie struktur polega na deklarowaniu pól jednej struktury jako typ strukturalny innej lub tej samej. Możemy zagnieżdżać je wielokrotnie oraz wiele typów strukturalnych używać jako pól. Do takich danych odwołujemy się tak samo jak do innych pól wykorzystując operator "." lub "->" w przypadku wskaźników.

Poniższy przykład przedstawia użycie pola strukturalnego typu zamieszkanie w zmiennej typu student:

#include<iostream>
#include<cstdlib>
using namespace std;
 
struct zamieszkanie{
    char miejscowosc[50];
    int nr_domu;
};
 
struct student{
  char imie[20];
  char nazwisko[40];
  //zagnieżdżona struktura
  zamieszkanie dom;
};
 
int main()
{
  student Jan;
 
  //wczytanie danych studenta
  cin>>Jan.imie;
  cin>>Jan.nazwisko;
  //wczytanie elementów zagnieżdźonej struktury
  cin>>Jan.dom.miejscowosc;
  cin>>Jan.dom.nr_domu;
 
  cout<<endl;
 
  //wypisanie danych studenta
  cout<<Jan.imie<<endl;
  cout<<Jan.nazwisko<<endl;
  cout<<Jan.dom.miejscowosc<<endl;
  cout<<Jan.dom.nr_domu<<endl;
 
  system("pause");
 
  return 0;
}