Ukazatel je funkce některých vysokoúrovňových počítačových programovacích jazyků, jako je C a C++, které umožňují programátorovi přímo manipulovat s paměťovými místy. Ukazatele poskytují větší flexibilitu při manipulaci s pamětí pro softwarové aplikace a často se používají k ukládání a načítání dat během provádění programu.
Ukazatel je speciální typ proměnné, která obsahuje paměťovou adresu jiné proměnné, nikoli číselnou nebo řetězcovou hodnotu. Ukazatele umožňují počítačovému programu přímý přístup k paměti, což jim dává úroveň kontroly nad způsobem, jakým je paměť alokována a používána. Schopnost ukazatele rychle přistupovat k paměti poskytuje významné výhody výkonu oproti jiným metodám přístupu k datům.
Ukazatele mohou být užitečné v různých aplikacích. Umožňují programu rychle procházet polem tím, že poskytují přímé spojení s prvky pole, nebo udržovat odkazy na alokovanou paměť, a tak snížit fragmentaci paměti. Ukazatele se také používají v objektově orientovaném programování, kde poskytují způsob vyjádření vztahů mezi objekty.
Je důležité pochopit, že ukazatele by měly být používány opatrně, protože mohou způsobit chyby v programech, pokud jsou zneužity. Nespravované ukazatele jsou jedním z primárních zdrojů úniku paměti v programech C a C++ a mohou být hlavním zdrojem problémů se zabezpečením, pokud se nepoužívají správně.