Пошаговое руководство по С++

С++ ГЛАВНАЯ Введение в С++ С++ Начать Синтаксис С++ Вывод С++ С++ Комментарии Переменные С++ Пользовательский ввод С++ Типы данных С++ Операторы С++ Строки С++ С++ Математика Логические значения С++ Условия С++ Переключатель С++ C++ пока цикл С++ для цикла С++ Перерыв/Продолжение Массивы С++ Ссылки на С++ Указатели С++

Функции С++

Функции С++ Параметры функции С++ Перегрузка функций C++

Классы С++

С++ ООП Классы/объекты С++ Методы класса С++ Конструкторы С++ Спецификаторы доступа C++ Инкапсуляция С++ Наследование С++ Полиморфизм С++ Файлы С++ Исключения С++

С++ Как

Добавить два числа

Примеры С++

Примеры С++ Компилятор С++ Упражнения по С++ Викторина по С++


Указатели С++


Создание указателей

Из предыдущей главы вы узнали, что мы можем получить адрес памяти переменной с помощью & оператора:

Пример

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)

Однако указатель — это переменная, которая хранит адрес памяти в качестве своего значения .

Переменная-указатель указывает на тип данных (например, intили string) того же типа и создается с помощью *оператора. Адрес переменной, с которой вы работаете, присваивается указателю:

Пример

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

Объяснение примера

Создайте переменную-указатель с именем ptr, которая указывает на переменную string, используя знак звездочки *( string* ptr). Обратите внимание, что тип указателя должен соответствовать типу переменной, с которой вы работаете.

Используйте &оператор, чтобы сохранить адрес памяти переменной с именем foodи присвоить его указателю.

Теперь ptrсодержит значение foodадреса памяти.

Совет: Есть три способа объявить переменные-указатели, но первый способ предпочтительнее:

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

Упражнения по С++

Проверьте себя с помощью упражнений

Упражнение:

Создайте переменную- указатель с именем ptr, которая должна указывать на stringпеременную с именем food:

string food = "Pizza";
  = &;