C++ ukazatele


Vytváření ukazatelů

Z předchozí kapitoly jste se dozvěděli, že paměťovou adresu proměnné můžeme získat pomocí & operátoru:

Příklad

string food = "Pizza"; // A food variable of type string

cout << food;  // Outputs the value of food (Pizza)
cout << &food; // Outputs the memory address of food (0x6dfed4)

Ukazatel je však proměnná, která ukládá adresu paměti jako svou hodnotu .

Proměnná ukazatel ukazuje na datový typ (jako intnebo string) stejného typu a je vytvořena *operátorem. Adresa proměnné, se kterou pracujete, je přiřazena ukazateli:

Příklad

string food = "Pizza";  // A food variable of type string
string* ptr = &food;    // A pointer variable, with the name ptr, that stores the address of food

// Output the value of food (Pizza)
cout << food << "\n";

// Output the memory address of food (0x6dfed4)
cout << &food << "\n";

// Output the memory address of food with the pointer (0x6dfed4)
cout << ptr << "\n";

Příklad vysvětlen

Vytvořte proměnnou ukazatele s názvem ptr, která ukazuje na proměnnou string, pomocí znaku hvězdičky *( string* ptr). Všimněte si, že typ ukazatele musí odpovídat typu proměnné, se kterou pracujete.

Pomocí &operátoru uložte paměťovou adresu proměnné s názvem fooda přiřaďte ji k ukazateli.

Nyní ptrobsahuje hodnotu foodadresy paměti 's.

Tip: Existují tři způsoby, jak deklarovat proměnné ukazatele, ale preferován je první způsob:

string* mystring; // Preferred
string *mystring;
string * mystring;

C++ Cvičení

Otestujte se pomocí cvičení

Cvičení:

Vytvořte ukazatelovou proměnnou s názvem ptr, která by měla ukazovat na stringproměnnou s názvem food:

string food = "Pizza";
  = &;