c++ struktury
Transkrypt
c++ struktury
Struktura (typ strukturalny) jest złożonym typem danych służącym do grupowania informacji opisujących jakiś obiekt. Dane te mogą być (i najczęściej są) różnych typów. Poszczególne dane zgrupowane w strukturze nazywamy polami lub składowymi struktury. struct nazwa_typu { typ_pola1 nazwa_pola1; typ_pola2 nazwa_pola2; … typ_pola_n nazwa pola_n; }; struct czlowiek { char imie[14]; char nazwisko[30]; int wiek; char plec[10]; }; Mając tak zdefiniowany typ, możemy z niego korzystać, deklarując zmienne strukturalne. Zmienne strukturalne są to zmienne, które są typu struktury przez nas zdefiniowanej. Dla typu człowiek mogą być to zmienne: mama, babcia , stryjek . Ich deklaracja wygląda następująco: czlowiek mama, babcia, stryjek; Każdej zmiennej przypiszemy wartość imienia, nazwiska, wieku i płci przez odwołanie się do pól zdefiniowanej struktury. Odniesienie się do poszczególnych pól struktury realizujemy za pomocą operatora oznaczonego kropką, zwanego też operatorem wyłuskania. mama.imie=„ANNA”; mama.nazwisko=„KOWALSKA”; mama.wiek=40; mama.plec=„KOBIETA”; babcia.imie=„JOANNA”; babcia.nazwisko=„KOWALSKA”; babcia.wiek=60; babcia.plec=„KOBIETA”; stryjek.imie=„JAN”; stryjek.nazwisko=„KOWALSKI”; stryjek.wiek=45; stryjek.plec=„MĘŻCZYZNA”; Definicja struktury punkt w kartezjańskim układzie współrzędnych miałaby postać: struct punkt { float wsp_x; float wsp_y; }; Na podstawie definiowanej struktury punkt zdefiniujemy strukturę wektor: struct wektor { punkt poczatek; punkt koniec; }; //struktura wektor, której pola początek i koniec są również //strukturami o polach wsp_x i wsp_y. W celu odwołania się do poszczególnych pól zmiennej wektor zastosujemy dwukrotnie operator odniesienia do pola struktury. Dla przykładu: aby nadać wartości zmiennej moj_wektor należącej do typu wektor, wykonamy kolejno instrukcje: moj_wektor.poczatek.wsp_x = 4.5 ; PAMIĘTAJ, ŻE DEFINICJA STRUKTURY PUNKT MUSI SIĘ ZNAJDOWAĆ PRZED DEFINICJĄ STRUKTURY WEKTOR, GDYŻ DRUGA Z NICH WYKORZYSTUJE PIERWSZĄ. Plik struktura2.cpp Plik: struktura4.cpp Zwróć uwagę na przekazywanie parametrów i sposób zapisu danych