Poznane wcześniej tablice mogą zawierać wiele danych, ale wszystkie te dane muszą być tego samego typu. Dla zgrupowania powiązanych ze sobą logicznie danych różnego typu C/C++ stosuje STRUKTURY, deklarowane przy pomocy słowa struct. Kolejne pola struktury są umieszczane w pamięci zgodnie z kolejnością ich deklarowania. Strukturę, podobnie jak zmienną, MUSIMY ZADEKLAROWAĆ. Struktura jest objektem bardziej złożonym niż pojedyncza zmienna, więc i deklaracja struktury jest bardziej skomplikowana. Deklaracja struktury składa się z następujących elementów:
struct Ludzie { char Imiona[30]; char Nazwisko[20]; int wiek; char pokrewienstwo[10] };
nazwa_struktury nazwa_tablicy [liczba_elementów];
// Definicja struktury #include <math.h> #include <stdlib.h> #include <stdio.h> #include <conio.h> #include <iomanip> #include <iostream> using namespace std; struct punkty{ int x, y; char nazwa; }; int main() { punkty tab[1000]; //przypisanie wartosci do pierwszej komórki tablicy tab[0].x = 2; tab[0].y = 4; tab[0].nazwa = 'A'; //przypisanie do ostatniej komórki tablicy tab[999].x = 1; tab[999].y = 5; tab[999].nazwa = 'X'; //odwoływanie się do elementów tablicy cout << "Dane pierwszego punktu: " << tab[0].x <<" " << tab[0].y << " " << tab[0].nazwa << endl; system("pause"); return 0; } }
Tablice możemy tworzyć także bezpośrednio po deklaracji i definicji struktury, np.:
struct punkty{ int x, y; char nazwa; }tab[1000];