C++ Покажчики (вказівники)
Створення покажчиків
З попереднього розділу ви дізналися, що ми можемо отримати адресу пам’яті змінної за допомогою оператора &
:
Приклад
string food = "Pizza"; // Змінна food типу string
cout << food; // Виведе значення food (Pizza)
cout << &food; // Виведе адресу пам’яті food (0x6dfed4)
Спробуйте самі »
Однак покажчик — це змінна, яка зберігає адресу пам’яті як своє значення.
Змінна покажчика вказує на тип даних (наприклад, int
або string
) того самого типу, і створюється за допомогою оператора *
. Адреса змінної, з якою ви працюєте, призначається покажчику:
Приклад
string food = "Pizza"; // Змінна food типу string
string* ptr = &food; // Вказівник змінної з назвою ptr, яка зберігає адресу food
// Виведе значення food (Pizza)
cout << food << "\n";
// Виведе адресу пам’яті food (0x6dfed4)
cout << &food << "\n";
// Виведе адресу пам’яті food за допомогою покажчика (0x6dfed4)
cout << ptr << "\n";
Спробуйте самі »
Пояснення прикладу
Створіть змінну-вказівник із назвою ptr
, яка вказує на змінну string
, використовуючи знак зірочки *
(string* ptr
). Зауважте, що тип покажчика має відповідати типу змінної, з якою ви працюєте.
Використовуйте оператор &
, щоб зберегти адресу пам’яті змінної під назвою food
і призначити її вказівнику.
Тепер ptr
містить значення адреси пам’яті food
.
Порада: Є три способи оголошення змінних покажчиків, але першому способу надається перевага:
string* mystring; // Перевага
string *mystring;
string * mystring;