background image
background image

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ć.

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.

background image

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; 

background image

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:

background image

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.

background image

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.


Document Outline