5. Tablice struktur

Tablice struktur w C++ to mechanizm pozwalający na przechowywanie wielu obiektów struktury w jednym uporządkowanym zestawie, czyli w tablicy. Umożliwia to łatwe zarządzanie większą ilością danych tego samego typu strukturalnego. Tablice struktur mogą być jednowymiarowe (proste) lub wielowymiarowe. Poniżej przedstawiono przykład definicji tablicy struktur.

#include <iostream>
#include <string>

struct Osoba {
    std::string imie;
    int wiek;
    float waga;
};

int main() {
    // Deklaracja tablicy struktur o nazwie "osoby", która zawiera 3 obiekty typu Osoba
    Osoba osoby[3] = {
        {"Jan", 30, 70.5},
        {"Anna", 25, 55.0},
        {"Tomek", 20, 65.5}
    };

    // Wyświetlanie danych z tablicy struktur
    for (int i = 0; i < 3; i++) {
        std::cout << "Imię: " << osoby[i].imie << ", Wiek: " << osoby[i].wiek << ", Waga: " << osoby[i].waga << std::endl;
    }

    return 0;
}
Jak widzimy w przedstawionym przykładzie tablice struktur można inicjalizować podobnie jak inne tablice, przy użyciu listy inicjalizacyjnej:
Osoba osoby[2] = {
        {"Maria", 22, 60.0},
        {"Piotr", 27, 80.0}
};
    
Możemy również przypisywać wartości do poszczególnych elementów tablicy ręcznie, po jej zadeklarowaniu:
osoby[0].imie = "Maria";
osoby[0].wiek = 22;
osoby[0].waga = 60.0;
Dostęp do poszczególnych elementów tablicy uzyskujemy podobnie jak w przypadku zwykłych tablic, za pomocą indeksów. Aby odwołać się do konkretnego pola struktury znajdującej się w tablicy, używamy notacji kropkowej (.).

Przykłady:

  • osoby[0].imie — dostęp do pola imie pierwszego elementu tablicy.
  • osoby[1].wiek — dostęp do pola wiek drugiego elementu tablicy.