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: 10
Vš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