Portal internetowy i Darmowy Kurs Programowania C++
  Forum C++
 
=> Nie jesteś jeszcze zarejestrowany?

Rzeczy związane z C# Dobrze zaczac od drugiej strony

Forum C - Struktury »

Znajdujesz się tutaj:
Forum C => Kursy => Struktury »

<-Powrót

 1 

Dalej->


admin
(18 postów dotychczas)
13.02.2008 22:51 (UTC)[zacytuj]
Struktury
Począwszy od tego rozdziału będzie już bardzo przyjemnie Choć to wcale nie oznacza, że łatwo Po prostu struktury oraz klasy to typy danych, za pomocą których można znacznie ułatwić sobie programowanie. Wprowadzenie struktur stanowiło duży krok do przodu w dziedzinie programowania. Dzięki strukturom można w łatwy sposób tworzyć obiekty odzwierciedlające przedmioty z życia codziennego! Domyślasz się co to oznacza? Za ich pomocą można stworzyć niemal wszystko. Aby bardziej przybliżyć jaka jest z tego korzyść przytoczę mały przykład.
Załóżmy, że chcesz napisać małą gierkę. Niech to będzie mało znana gierka z gatunku tetris Jak pamiętasz, pisanie programu powinno się rozocząć od wcześniejszego obmyślenia. Należy więc przygotować jakieś zmienne opisujące planszę oraz klocki istniejące w grze. Plansze najlepiej zrealizować w formie tablicy. Z klockami jest już gorzej. Przecież w takich gierkach istnieje kilka rodzajów klocków. Powiedzmy, że jest ich 20 typów. Można traktować każdy klocek jak liczbę int, short czy long. Jednak co w sytuacji, gdy liczba klocków wzrośnie i wyniesie [będę okrutny 200]. Operowanie za pomocą numerków jest trochę niewdzięczne. Co więc robić? Jest rada. Najlepiej samemu zdefiniować sobie nowy typ danych opisujący konkretny klocek! Tutaj właśnie przydadzą nam się struktury. Czyż to nie wspaniałe?! Zobacz teraz jak się tworzy nowy typ.

struct nazwa_struktury
{
//składniki struktury
};
To coś powyżej to definicja struktury. Każda definicja zaczyna się od słowa kluczowego struct. Następnie pojawia się konkretna nazwa. U nas będzie to klocek_kostka, klocek_dwie_kostki i klocek_trzy_kostki itp. Oczywiście w przypadku nazwy obowiązują te same reguły jak przy zmiennych i funkcjach. Ciało struktury, czyli jej zakres określany jest za pomocą klamer. Zauważ podobieństwo do definicji typu enum. Na koniec mały detal. Definicję struktury trzeba zakończyć średnikiem. Pozostało jeszcze wyjaśnić czym są składniki struktury. Składnikami są wszelkie obiekty, które charakteryzują dany obiekt. Dla typu klocek będzie to aktualne położenie, kolor, wygląd itp. Wybór składników zależy już od programisty. Zdefiniujmy zatem strukturę do przechowywania klocka.

struct klocek
{
int wsp_x;
int wsp_y;
int kolor;
};
Zdefiniowaliśmy sobie strukturę o nazwie klocek. Dzięki temu niejako rozbudowaliśmy C++ o nowy rodzaj danych. Obiekty typu klocek posiadają w sobie po trzy obiekty typu int. Pierwszy z nich to współrzędna 'x', drugi współrzędna 'y', a trzeci to kolor. Od teraz w dowolnym momencie możemy korzystać z obiektów typu klocek. Definicja wygląda następująco:

klocek nasz_klocek;
W przykładzie powołaliśmy do życia zmienną typu klocek o nazwie nasz_klocek. Oczywiście automatycznie zostały utworzone trzy zmienne typu int, będące składnikami klocka. Aby odnieść się do poszczególnych składników należy podać nazwę zmiennej [u nas jest to nasz_klocek], później trzeba napisać kropkę i nazwę konkretnego składnika. Wygląda to tak:

nasz_klocek.wsp_x = 20;
nasz_klocek.wsp_y = 30;
nasz_klocek.kolor = 2;
Tym sposobem zainicjalizowaliśmy wszystkie składniki klocka. Aby było prościej można to zrobić od razu przy definicji. Wowczas należałoby napisać tak:

klocek nasz_klocek = {20, 30, 2};
Przy takim definiowaniu pamiętaj o właściwej kolejności. Liczba 20 zostanie wstawiona do pierwszego składnika klocka, liczba 30 do drugiego, a liczba 2 do trzeciego. Oczywiście nie trzeba podawać tutaj wszystkich danych. Jeżeli kolor klocka [trzeci składnik] w momencie definiowania jest nieistotny, to można usunąć z przykładu liczbę 2. Wówczas kolor klocka będzie przypadkową liczbą. Chyba jest to zrozumiałe. W strukturze mogą istnieć dowolne zmienne. Można nawet umieścić tam tablice lub wskaźniki. Liczba składników nie ma znaczenia. To już zależy od przeznaczenia samej struktury. Struktury posiadają jeszcze jedną bardzo przydatną cechę. Wszelkie nazwy użyte wewnątrz struktury są znane jedynie w jej wnętrzu. Zatem nie musisz dbać o unikalność nazw. Jak widzisz nie jest to aż takie trudne, a korzyść jest ogromna. Obecnie udział struktur w programowaniu zaczyna być coraz mniejszy. Zostały one wyparte przez klasy, którymi się teraz zajmiemy.


Odpowiedz:

Twój nick:

 Kolor tekstu:

 Wielkość tekstu:
Zamknij tagi



Tematy łącznie: 19
Posty łącznie: 56
Użytkownicy łącznie: 48
Obecnie online jest (zarejestrowanych użytkowników): Nikt crying smiley
 
 
   
 
Ta strona internetowa została utworzona bezpłatnie pod adresem Stronygratis.pl. Czy chcesz też mieć własną stronę internetową?
Darmowa rejestracja