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* pro int)
  • 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

Registrací souhlasíte s provozními podmínkami a zásadami ochrany osobních údajů.

Nebo se registrujte pomocí:

3/5

Práce s ukazateli | Start Coder