126
ROZDZIAŁ 17. WSKAŹNIKI
{
struct urządzenie moje.urządzeńle; moje.urzadzenie.m - ftmoje.urzadzenie.metody; rejestruj.urządzenie(ftmoje.urzadzenie);
>
Tutaj znajduje się krótkie kompendium jak definiować wskaźniki oraz co oznaczają poszczególne definicje:
i; |
zinieima całkowita (typu int) i |
*p; |
wskaźnik p wskazujący na zmienną całkowitą |
a[]; |
tablica a liczb całkowitych typu int |
f<>; |
funkcja f zwracająca liczbę całkowitą typu int |
**PP; |
wskaźnik pp na wskaźnik wskazujący na liczbę całkowitą typu int |
(*pa) []; |
wskaźnik pa wskazujący na tahlkrę liczi) całkowitych typu int |
(•pf)(); |
wskaźnik pf na funkcję zwracającą liczbę całkowitą typu int |
*ap[]; |
tablica ap wskaźników na liczby całkowite typu int |
*fp(); |
funkcja fp, która zwraca wskaźnik na zmienną typu int |
***ppp; |
wskaźnik ppp wskazujący na wskaźnik wskazujący na wskaźnik wskazujący na liczbę typu int |
<**ppa) []; |
wskaźnik ppa na wskaźnik wskazujący na tablicę liczb całkowitych typu int |
(**ppf)(); |
wskaźnik ppf wskazujący na wskaźnik funkcji zwracającej dane typu int |
*(*pap) [] ; |
wskaźnik pap wskazujący na tablicę wskaźników na typ int |
*(*pfp)(); |
wskaźnik pfp na funkcję zwracającą wskaźnik na typ int |
**app[] ; |
tablica wskaźników app wskazujących na typ int |
(*apa[]) [] ; |
tablica wskaźników apa wskazujących wskaźniki na typ int |
(*apf [])(); |
tablica wskaźników apf na funkcję, które zwracają wskaźniki na typ int |
***fpp(); |
funkcja Ipp. która zwraca wskaźnik na wskiiźuik na wskaźnik, który wskazuje typ int |
(*fpa())[]; |
funkcja fpa. która zwraca wskaźnik na tablicę liczi) typu int |
(*fpf O) O; |
funkcja fpf. która zwraca wskaźnik na funkcję, która zwraca dano typu int |
Jednym z najczęstszych błędów, oprócz prób wykonania operacji na wskaźniku NULI., są odwołania się do obszaru pamięci po jego zwolnieniu. Po wykonaniu funkcji freeO nie możemy już wykonywać żadnych odwołań do zwolnionego obszaru. Innym rodzajem błędów
są:
1. odwołania do adresów pamięci, które są poza obszarem przydzielonym funkcją oallocO
2. brak sprawdzania, czy dany wskaźnik nie ma wartości NULI.
3. wycieki pamięci, czyli nie zwalnianie całej, przydzielonej wcześniej pamięci