Struktury umożliwiają przechowywanie kilku informacji
o jednym elemencie (obiekcie), dzięki czemu
operowanie na jednym obiekcie bardziej odzwierciedla
rzeczywistość. Dane mogą być różnego typu (integer,
string, char etc.) i można je w każdej chwili dodawać,
edytować i odczytywać.
W Pascalu odpowiednikiem struktur są rekordy (typ
rekordowy)
STRUKTURA TO NIE TABLICA
O ile tablice pozwalały na pomieszczenie w jednej
strukturze wielu danych tego samego typu, rekordy
umożliwiają zamknięcie w całość danych różnych
typów, nie pozwalając z kolei na indeksowany do
nich dostęp.
PRZKŁAD ZASTOSOWANIA
Przykładem zastosowania struktury może być
baza adresowa, zapisywana do tablicy, jednakże jej
poszczególne pola wczytywane są za pomocą
rekordów pobierających dane takie jak: Imię, wiek,
adres itd.
C++
PASCAL
Struct dane
Type dane = record
{
imie: String[25];
char imie[30];
wiek: Byte;
int wiek;
adres: String[30];
}
End;
//deklaracja zmiennej struktury
//deklaracja zmiennej rekordu
Struct dane osoba
Var osoba : dane;
C++
PASCAL
{
Begin
//zapis
//zapis
osoba.imie = „Marcin”;
osoba.imie := „Marcin”;
cin >> osoba.imie;
readln(osoba.imie);
//odczyt
//odczyt
cout << osoba.imie;
writeln(osoba.imie);
Dane możemy zarówno odczytywać jak i zapisywać odwołując
się do konkretnej komórki w zaprezentowany poniżej sposób:
C++
PASCAL
struct dane osoba[100];
Type table = array[1..100] of dane
Var osoba:table;
//odwołanie do komórki
//odwołanie do komórki
{
Begin
adresy[1].imie = „Marcin”;
osoba[1].imie := „Marcin”;
cout << adresy[1].imie;
writeln(osoba[1].imie);
}
End;
Struktury mogą być tablicami struktur, pozwala to na zapis wielu
elementów o różnych typach w jednej tablicy.
Rekord może być elementem tablicy.
Chcąc odczytać lub zapisać dane należy odwołać się do konkretnej
komórki tablicy oraz do konkretnego wiersza struktury.
C++
PASCAL
struct dane osoba[100];
Type table = array[1..100] of dane
Var osoba:table;
//odwołanie do komórki
//odwołanie do komórki
{
Begin
adresy[1].imie = „Marcin”;
osoba[1].imie := „Marcin”;
cout << adresy[1].imie;
writeln(osoba[1].imie);
}
End;
Struktury mogą być tablicami struktur, pozwala to na zapis wielu
elementów o różnych typach w jednej tablicy.
Rekord może być elementem tablicy.
Chcąc odczytać lub zapisać dane należy odwołać się do konkretnej
komórki tablicy oraz do konkretnego wiersza struktury.