Práce s ukazateli
Daším způsobem, jakým můžeme pracovat s referencí místo hodnoty je pomocí ukazatelů. Ukazatel (pointer) je speciální typ proměnné, která obsahuje adresu jiné proměnné v paměti. Pro práci s ukazateli používáme dva důležité operátory:
&- získá adresu proměnné*- získá hodnotu na adrese (dereference)
Podívejme se na příklad:
int cislo = 42; // Běžná proměnná
int* ukazatel = &cislo; // Ukazatel na proměnnou cislo
*ukazatel = 10; // Změna hodnoty přes ukazatel
std::cout << cislo; // Vypíše: 10Všimněte si, že:
- Typ ukazatele musí odpovídat typu proměnné (
int*proint) - Symbol
*je součástí typu při deklaraci (int*) - Operátor
*před ukazatelem zpřístupní hodnotu
Ukazatel může být také prázdný (neukazovat nikam) pomocí hodnoty nullptr:
int* ukazatel = nullptr; // Prázdný ukazatel
if (ukazatel != nullptr) {
std::cout << *ukazatel; // Bezpečné použití
}Je důležité vždy zkontrolovat, zda ukazatel není nullptr před jeho použitím, jinak může program spadnout!
Pokyny
1. Vytvoř ukazatel typu int* s názvem ukazatel a nastav ho tak, aby ukazoval na proměnnou hodnota.
2. Pomocí ukazatele změň hodnotu proměnné hodnota na 10.
Začněte programovat zdarma
3/5