Úvod ukazatelů

V této kapitole se seznámíme s ukazateli (pointery) v C++. Ukazatele jsou jedním z nejdůležitějších, ale také nejobávanějších konceptů v C++. Nebojte se, společně je zvládneme!

Představte si následující situaci: Máte velký soubor dat (třeba video) a chcete ho předat funkci ke zpracování. Máte dvě možnosti:

  1. Vytvořit kopii celého souboru a tu předat funkci
  2. Předat funkci pouze informaci o tom, kde se soubor nachází v paměti

První možnost je jako poslat kamarádovi celé video přes messenger. Druhá možnost je jako poslat mu pouze odkaz na video na YouTube. Je zřejmé, že druhá možnost je efektivnější - a přesně k tomu slouží ukazatele!

Ukazatel je proměnná, která obsahuje adresu jiné proměnné v paměti počítače. Je to jako GPS souřadnice, které ukazují na konkrétní místo. Podívejme se na jednoduchý příklad:

#include <iostream>

int main() {
    int cislo = 42;          // Běžná proměnná
    int* ukazatel = &cislo;  // Ukazatel na tuto proměnnou

    std::cout << "Hodnota čísla: " << cislo << std::endl;
    std::cout << "Adresa čísla: " << ukazatel << std::endl;
    std::cout << "Hodnota na adrese: " << *ukazatel << std::endl;

    return 0;
}

Tento program vytvoří proměnnou cislo s hodnotou 42 a ukazatel ukazatel, který ukazuje na tuto proměnnou. Symbol & získá adresu proměnné a operátor * nám umožní přistoupit k hodnotě na dané adrese.

Ukazatele jsou základem pro:

  • Efektivní práci s pamětí
  • Dynamickou alokaci paměti
  • Předávání velkých dat funkcím
  • Vytváření složitých datových struktur (např. spojové seznamy)

V následujících cvičeních se naučíme s ukazateli pracovat a využívat jejich sílu!

Pokyny

Spusťte program a podívejte se na výstup. Všimněte si, že adresa v paměti nám lidem toho moc neřekne. Až budete připraveni, přejděte na další cvičení!

Začněte programovat zdarma

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

Nebo se registrujte pomocí:

1/5

Úvod ukazatelů | Start Coder