Jaki jest adres pamięci w C ++ i jak go znaleźć?

Jaki jest adres pamięci w C ++ i jak go znaleźć?
W C ++ adres pamięci to lokalizacja zmiennej w pamięci RAM, w której dane są przechowywane. RAM (pamięć o dostępie losowej) jest rodzajem pamięci komputera, który może być odczytany, a także modyfikowany w dowolnej sekwencji i jest często wykorzystywany do przechowywania danych operacyjnych i kodów maszynowych. W naszych programach każda zmienna jest przechowywana w pamięci RAM i zajmuje miejsce w pamięci. Zmienne te mają określoną lokalizację pamięci, a każdy z nich ma adres, który można pobrać przez operator Ampersand (&). Ten operator reprezentuje adres pamięci zmiennej i jest przydatny do dostępu i manipulowania danymi przechowywanymi w tej lokalizacji.

W tym artykule zawiera przewodnik po znalezieniu adresu pamięci zmiennej w C++.

Jak określić adres pamięci zmiennej w C++

W C ++ istnieją dwie metody określania adresu pamięci zmiennej:

  • Korzystanie z „adresu” (&) operatora
  • Za pomocą wskaźnika

Metoda 1: Znajdź adres pamięci zmiennej za pomocą „Adres” i operatora

Kiedy jesteśmy zobowiązani do określenia adresu pamięci zmiennej, możemy wykorzystać „Adres operatora” (i), który zwraca adres zmiennej. Aby wyświetlić adres zmiennej, użyj „&” wraz z nazwą zmienną.

Użyjmy przykładowego programu, aby to zademonstrować:

#włączać
za pomocą przestrzeni nazw Std;
int main ()

int num1;
float num2;
string str;
Cout<<"Please enter an integer value to find its memory address: ";
cin >> num1;
Cout<<"Entered number is: "<Cout<<"Address of "<Cout<<"Please enter a decimal value to find its memory address: ";
cin >> num2;
Cout<<"Entered number is :"<Cout<<"Address of "<Cout<<"Please enter a string to find its memory address: ";
cin >> str;
dla (int i = 0; iCout<<"Address of "<powrót 0;

Nasze zmienne etykiety w powyższym programie to NUM1, NUM2 i STR, odpowiednio z typami danych INT, FLACE i String. Operator „&” jest używany z nazwą zmiennej, aby znaleźć jego adres pamięci. Należy zauważyć, że wyjście, które podaje adres zmiennej, jest liczbą losowo wygenerowaną.

Metoda 2: Znajdź adres pamięci zmiennej za pomocą wskaźnika

W C ++ adresy zmienne można również uzyskać za pomocą wskazówek. Zmienna, która utrzymuje adres innej zmiennej, jest określana jako wskaźnik. Wskaźnik służy jak każda inna zmienna, którą należy określić przed jej użyciem. Wskaźnik jest zdefiniowany w C ++ z „*” operator, czasem znany jako operator gwiazdkowy.

Spójrzmy na przykładowy program, aby znaleźć adres pamięci za pomocą wskaźnika:

#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
int num1;
int *ptr_num1 = &num1;
float num2;
float *ptr_num2 = &num2;
string str;
Cout << "Please enter an integer value to find its memory address: ";
cin >> num1;
Cout << "Entered number is: " << num1 << endl;
Cout << "Address of " << num1 << " is: " << ptr_num1 << endl;
Cout << "Please enter a decimal value to find its memory address: ";
cin >> num2;
Cout << "Entered number is: " << num2 << endl;
Cout << "Address of " << num2 << " is: " << ptr_num2 << endl;
Cout << "Please enter a string to find its memory address: ";
cin >> str;
dla (int i = 0; i < str.length(); i++)
Cout << "Address of " << str[i] << " is: " << (void*)&str[i] << endl;

powrót 0;

Zmienne etykiety w tym programie to NUM1, NUM2 i STR, odpowiednio z typami danych INT, FLACE i String. Adres zmiennej jest określany za pomocą wskaźnika wraz z nazwą zmiennej. Należy zauważyć, że wyjście, które podaje adres zmiennej, jest liczbą losowo wygenerowaną.

Wniosek

Kiedy deklarujemy zmienną dowolnego typu danych w C ++, system operacyjny przypisuje ją lokalizację pamięci. Ta lokalizacja pamięci jest dowolną liczbą, która nie może być ujemna i jest znana jako adres zmiennej. Znajomość adresu pamięci zmiennej może być przydatna w niektórych scenariuszach programowania. W tym artykule zilustrowaliśmy dwie metody, Adres operatora (i) I zmienne wskaźnika, Aby określić adres pamięci zmiennej w C ++ wraz z prostymi przykładami.