В этой статье представлено руководство по поиску адреса памяти переменной в C++.
Как определить адрес памяти переменной в C++
В C++ существует два метода определения адреса памяти переменной:
Метод 1: найдите адрес памяти переменной, используя «адрес» и оператор
Когда нам нужно определить адрес памяти переменной, мы можем использовать «адрес оператора» (&) , который возвращает адрес переменной. Чтобы отобразить адрес переменной, используйте '&' вместе с именем переменной.
Давайте используем пример программы, чтобы продемонстрировать это:
#include <иопоток>
используя пространство имен std ;
инт основной ( )
{
инт число1 ;
плавать число2 ;
строка ул ;
cout << 'Пожалуйста, введите целое число, чтобы найти его адрес памяти: ' ;
принимать пищу >> число1 ;
cout << 'Введенный номер:' << число1 << конец ;
cout << 'Адрес' << число1 << ' является: ' <<& число1 << конец ;
cout << 'Пожалуйста, введите десятичное значение, чтобы найти его адрес памяти:' ;
принимать пищу >> число2 ;
cout << 'Введенный номер:' << число2 << конец ;
cout << 'Адрес' << число2 << ' является :' <<& число2 << конец ;
cout << 'Пожалуйста, введите строку, чтобы найти ее адрес в памяти: ' ;
принимать пищу >> ул ;
для ( инт я '=' 0 ; я < ул. длина ( ) ; ++ я )
cout << 'Адрес' << ул [ я ] << ' является :' << ( пустота * ) & ул [ я ] << конец ;
возвращаться 0 ;
}
Наши метки переменных в приведенной выше программе — num1, num2 и str с типами данных int, float и string соответственно. Оператор «&» используется с именем переменной, чтобы найти ее адрес в памяти. Следует отметить, что вывод, который предоставляет адрес переменной, представляет собой случайно сгенерированное число.
Способ 2: найти адрес памяти переменной с помощью указателя
В C++ адреса переменных также можно получить с помощью указателей. Переменная, содержащая адрес другой переменной, называется указателем. Указатель служит подобно любой другой переменной, которую необходимо указать, прежде чем ее можно будет использовать. Указатель определен в C++ с помощью '*' оператор, иногда известный как оператор звездочки.
Давайте посмотрим на пример программы для поиска адреса памяти с помощью указателя:
#include <иопоток>#include <строка>
используя пространство имен std ;
инт основной ( ) {
инт число1 ;
инт * ptr_num1 '=' & число1 ;
плавать число2 ;
плавать * ptr_num2 '=' & число2 ;
строка ул ;
cout << 'Пожалуйста, введите целое число, чтобы найти его адрес памяти: ' ;
принимать пищу >> число1 ;
cout << 'Введенный номер:' << число1 << конец ;
cout << 'Адрес' << число1 << ' является: ' << ptr_num1 << конец ;
cout << 'Пожалуйста, введите десятичное значение, чтобы найти его адрес памяти:' ;
принимать пищу >> число2 ;
cout << 'Введенный номер:' << число2 << конец ;
cout << 'Адрес' << число2 << ' является: ' << ptr_num2 << конец ;
cout << 'Пожалуйста, введите строку, чтобы найти ее адрес в памяти: ' ;
принимать пищу >> ул ;
для ( инт я '=' 0 ; я < ул. длина ( ) ; я ++ ) {
cout << 'Адрес' << ул [ я ] << ' является: ' << ( пустота * ) & ул [ я ] << конец ;
}
возвращаться 0 ;
}
Метки переменных в этой программе — num1, num2 и str с типами данных int, float и string соответственно. Адрес переменной определяется с помощью указателя вместе с именем переменной. Следует отметить, что вывод, который предоставляет адрес переменной, представляет собой случайно сгенерированное число.
Заключение
Когда мы объявляем переменную любого типа данных в C++, операционная система назначает ей место в памяти. Эта ячейка памяти представляет собой произвольное число, которое не может быть отрицательным и известно как адрес переменной. Знание адреса памяти переменной может быть полезно в определенных сценариях программирования. В этой статье мы проиллюстрировали два метода: адрес оператора(&) и переменные-указатели , чтобы определить адрес памяти переменной в C++ вместе с простыми примерами.