
W poprzednim rozdziale poznałeś tablicę. Wiesz, że jest to zbiór wielu zmiennych umieszczonych w jednej tablicy. Struktura to także połączenie wielu zmiennych, tyle że połączone zmienne mogą być różnych typów. Np. w tablicy miałeś trzy zmienne typu int. W strukturze możesz mieć trzy zmienne dowolnych typów, np. pierwsza będzie typu int, druga będzie typu char, trzecia bool. Oczywiście zmienne te nadal będą obok siebie w pamięci, w takiej kolejności, w jakiej będą ułożone w strukturze.
Aby móc używać struktury, należą ją najpierw zdefiniować:
Definicję struktury rozpoczynamy od słówka struct. Dalej piszemy nazwę naszej definicji struktury i kolejno wymieniamy zmienne w strukturze. Nasza struktura składa się z czterech zmiennych.
Dopiero stworzyliśmy definicję struktury, czyli to jak ma taka struktura wyglądać. Należy o tym pamiętać, gdyż czym innym jest stworzenie definicji struktury, a czym innym utworzenie jej w pamięci.
No więc mamy definicję. Jak stworzyć obraz takiej struktury w pamięci? Nic prostszego:
Najpierw piszemy z jakiej definicji korzystamy, bo może być ich wiele, a po spacji nazwę naszej struktury utworzonej w pamięci. W programie mając definicję jednej struktury możemy utworzyć wiele struktur w pamięci z niej.
Utworzyliśmy w pamięci dwie struktury z definicji definicja_struktury.
Po utworzeniu struktury w pamięci, należy ją zainicjować, chyba, że wolimy jakieś nieznane nam wartości.
Aby przypisać wartość zmiennej w strukturze, należy przed nazwą zmiennej podać nazwę struktury, w jakiej jest utworzona i oddzielić to kropką. Początkujący programiści(a przynajmniej ja jak zaczynałem) często mylą się podając przed zmienną definicję struktury, a należy podać strukturę utworzoną w pamięci, NIE DEFINICJĘ STRUKTURY, bo to dwie inne rzeczy.
Zastosowanie struktur jest szerokie, używa się je, gdy w programie mamy zmienne, które coś łączy, np. w grach statystyki naszego bohatera będą taką strukturą, jak mogłaby wyglądać przykładowa struktura takiego bohatera:
I możemy sobie w grze stworzyć wiele takich postaci(o tej definicji):
I już mamy trzy takie postaci, jeszcze trzeba każdą z nich zainicjować i mamy jakieś postaci w grze :)
Czasami zdarza się, że używamy nie tylko struktury, ale także wskaźnika do niej, przy odwoływaniu się do elementów struktury przez wskaźnik, używamy nie kropki, ale operatora strzałeczki "->".
Ten akapit dotyczy umieszczania struktury w strukturze, myślę, że tutaj nie jest potrzebny komentarz, wystarczy kod:
Oczywiście można dalej zagnieżdżać kolejne struktury w sobie.