16.05.2015 Views

Programowanie w C++ Borland Builder - Wyższa Szkoła Informatyki ...

Programowanie w C++ Borland Builder - Wyższa Szkoła Informatyki ...

Programowanie w C++ Borland Builder - Wyższa Szkoła Informatyki ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Rozszyfrujmy zapis:<br />

strcpy(Pointer->Tekst, STA.Tekst);<br />

Skopiuj łańcuch znaków z pola Tekst struktury STA do pola Tekst<br />

struktury wskazywanej przez pointer. Prawda, że to całkiem<br />

proste?<br />

[???] CZY MUSIMY TO ROZDZIELAĆ ?<br />

________________________________________________________________<br />

Jak zauważyłeś, liczby moglibyśmy zapisywać także jako łańcuchy<br />

znaków, ale wtedy nie moglibyśmy wykonywać na tych liczbach<br />

działań. Konwersję liczba - łańcuch znaków lub odwrotnie łańcuch<br />

znaków - liczba wykonują w C specjalne funkcje np.:<br />

atoi() - Ascii TO Int.;<br />

itoa() - Int TO Ascii itp.<br />

Więcej informacji na ten temat i przykłady znajdziesz w dalszej<br />

części książki.<br />

________________________________________________________________<br />

Elementami struktury mogą być zmienne dowolnego typu, łądznie z<br />

innymi strukturami.<br />

Ciekawostka:<br />

________________________________________________________________<br />

Wskaźnik do deklarowanej struktury może być w języku C/<strong>C++</strong> jak<br />

jeden z jej WŁASNYCH elementów. Jeśli wskaźnik wchodzący w skład<br />

struktury wskazuje na WŁASNĄ strukturę, to nazywa się to<br />

AUTOREFERENCJĄ STRUKTURY.<br />

________________________________________________________________<br />

POLA BITOWE.<br />

Często zdarza się, że jakaś zmienna ma zawężony zakres wartości.<br />

Dla przykładu zmienne logiczne (tzw. flagi) to zawsze tylko 0<br />

lub 1. Wiek rzadko przekracza 255 lat a liczba dzieci zwykle nie<br />

jest większa niż 15. Nawet najbardziej niestali panowie nie<br />

zdążą ożenić się i rozwieść więcej niż 7 razy. Gdybyśmy zatem<br />

chcieli zapisać informacje<br />

* płeć 0 - mężczyzna, 1 - kobieta ( 1 bit );<br />

* wiek 0 - 255 lat (8 bitów);<br />

* ilość dzieci 0 - 15 (4 bity);<br />

* kolejny numer małżeństwa 0 - 7 (3 bity);<br />

to przecież wszystkie te informacje mogą nam się zmieścić w<br />

jednym szesnastobitowym rejestrze lub w dwu bajtach pamięci.<br />

Takie kilka bitów wydzielone i mające określone znaczenie to<br />

właśnie pole bitowe. <strong>C++</strong> pozwala także na uwzględnianie znaku w<br />

polach bitowych. Pola bitowe mogą być typu int i unsigned int<br />

- 143-

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!