126
ROZDZIAŁ 17. WSKAŹNIKI
I
struct urządzenie moje_urzadzeuie; moje_uxzadzenie.nl = &moje_urzadzenie_aetody; rejestruj _ urządzenie(&aoj e_urzadzenie);
>
Tutaj znajduje się krótkie kompendium jak definiować wskaźniki oraz co oznaczają poszczególne definicje:
ij |
zmienna całkowita (typu int) i |
*PJ |
wskaźnik p wskazujący na zmienną całkowitą |
a[]; |
tablica a liczb całkowitych typu int |
fOi |
funkcja f zwracająca liczbę całkowitą typu int |
**PP i |
wskaźnik pp na wskaźnik wskazujący na liczbę całkowitą typu int |
(*pa) []; |
wskaźnik pa wskazujący na tablicę liczb 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()i |
funkcja f p, 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) [] j |
wskaźnik pap wskazujący na tablicę wskaźników na typ int |
*(*pfp)(); |
wskaźnik pf p na funkcję zwracającą wskaźnik na typ int |
**app []; |
tablica wskaźników app wskazujących na typ int |
(*apa[3) []; |
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 f pp, która zwraca wskaźnik na wskaźnik na wskaźnik, który wskazuje typ int |
(*fpa()) □; |
funkcja f pa, która zwraca wskaźnik na tablicę liczb typu int |
<*fpf())<); |
funkcja fpf, która zwraca wskaźnik na funkcję, która zwraca dane typu int |
Jednym z najczęstszych, błędów, oprócz prób wykonania operacji na wskaźniku NTJUL, są odwołania się do obszaru pamięci po jego zwolnieniu. Po wykonaniu funkcji free() 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ą malloe ()
2. brak sprawdzania, czy dany wskaźnik nie ma wartości NULL
3. wycieki pamięci, czyli nie zwalnianie całej, przydzielonej wcześniej pamięci