Wskaźniki C++


Tworzenie wskaźników

Z poprzedniego rozdziału dowiedziałeś się, że możemy uzyskać adres pamięci zmiennej za pomocą & operatora:

Przykład

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)

Wskaźnik jest jednak zmienną, która przechowuje adres pamięci jako swoją wartość .

Zmienna wskaźnikowa wskazuje typ danych (np . intlub string) tego samego typu i jest tworzona za pomocą *operatora. Adres zmiennej, z którą pracujesz, jest przypisany do wskaźnika:

Przykład

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";

Przykład wyjaśniony

Utwórz zmienną wskaźnikową o nazwie ptr, która wskazuje na zmienną string, używając znaku gwiazdki *( string* ptr). Zauważ, że typ wskaźnika musi odpowiadać typowi zmiennej, z którą pracujesz.

Użyj &operatora do przechowywania adresu pamięci zmiennej o nazwie foodi przypisz go do wskaźnika.

Teraz ptrprzechowuje wartość foodadresu pamięci 's.

Wskazówka: Istnieją trzy sposoby deklarowania zmiennych wskaźnikowych, ale preferowany jest pierwszy sposób:

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

Ćwiczenia C++

Sprawdź się za pomocą ćwiczeń

Ćwiczenie:

Utwórz zmienną wskaźnikową o nazwie ptr, która powinna wskazywać na stringzmienną o nazwie food:

string food = "Pizza";
  = &;