Kurz programování v C/Ukazatele
Ukazatel, anglicky pointer, je datový typ, který ale na rozdíl od běžných proměnných neslouží k uchovávání dat, ale k uchovávání adres.
Základní práce
[editovat | editovat zdroj]Ukazatel se definuje podobným způsobem jako proměnné, jediný rozdíl je v tom že se před název přidá znak hvězdičky (*).
Adresa je číslo v paměti, které nelze zaměnit s jinou adresou. Značíme jej pomocí &.
Ukazatel se dá chápat jako prst, který ukazuje na nějaké místo v paměti. Značíme jej pomocí *.
Deklarace proměnných:
int a;
int b;
int *p;
V tuto chvíli si můžeme paměť představit jako tři nezávislé paměťové buňky. Rozdíl mezi a, b a p je v tom, že do p se ukládají adresy a ne data.
a = 55;
b = 31;
Do proměnné (ukazatele) p se uloží adresa proměnné a.
p = &a;
číslo a má v paměťové buňce 0x45A1 hodnotu 55
číslo b má v paměťové buňce 0x45B4 hodnotu 31
do proměnné p se uloží číslo a z paměťové buňky 0x45A1, což je prázdná množina
do proměnné p se uloží číslo a z paměťové buňky 0x45A1, což je 55
do proměnné p se uloží číslo a z paměťové buňky 0x45A1, což je 84
do proměnné p se uloží číslo a z paměťové buňky 0x45A1, což je 31