Kurs programowania w C cz. 126

Nasza ocena:

5
Wyświetleń: 623
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
Kurs programowania w C  cz. 126 - strona 1

Fragment notatki:

STRUKTURY 143 char t; union ZamianaKolejnosci { unsigned short p1; unsigned char p2[2]; }; union ZamianaKolejnosci p; p.p1=GetPortNr(); /* w wyniku czego z np. klawiatury w p.p1 bedzie 0x3412 */ /* Teraz zamienmy kolejnosc bajtow */ t=p.p2[1]; p.p2[1]=p.p2[0]; p.p2[0]=t; /*a teraz mozemy wyslac pakiet UDP np. w systemie Ethernut (port RTOS dla urzadzen wbudowanych) */ r=NutUdpSendTo(sock, ip, p.p1, "ALA MA KOTA", strlen("ALA MA KOTA")); Na koniec w zmiennej p.p1 mamy 0x1234. Struktury Struktury  to specjalny typ danych mogący przechowywać wiele wartości w jednej zmien- nej. Od tablic jednakże różni się tym, iż te wartości mogą być różnych typów. Struktury definiuje się podobnie jak unie, ale zamiast słowa kluczowego  union  używa się struct , np.: struct Struktura { int pole1; int pole2; char pole3; }; Zmienną posiadającą strukturę tworzy się podając jako jej typ nazwę struktury. struct Struktura zmiennaS; Dostęp do poszczególnych pól, tak samo jak w przypadku unii, uzyskuje się przy pomocy operatora kropki: zmiennaS.pole1 = 60; /* przypisanie liczb do pól */ zmiennaS.pole2 = 2; zmiennaS.pole3 = ’a’; /* a teraz znaku */ Wspólne własności typów wyliczeniowych, unii i struk- tur Warto w zwrócić uwagę, że język C++ przy deklaracji zmiennych typów wyliczeniowych, unii lub struktur nie wymaga przed nazwą typu odpowiedniego słowa kluczowego. Na przykład poniższy kod jest poprawnym programem C++: enum Enum { A, B, C }; union Union { int a; float b; }; struct Struct { int a; float b; }; int main() { Enum e; Union u; Struct s; ... zobacz całą notatkę



Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz