Ten artykuł zawiera przewodnik dotyczący znajdowania adresu pamięci zmiennej w języku C++.
Jak określić adres pamięci zmiennej w C++
W języku C++ istnieją dwie metody określania adresu pamięci zmiennej:
Metoda 1: Znajdź adres pamięci zmiennej za pomocą „adresu” & operatora
Kiedy jesteśmy zobowiązani do określenia adresu pamięci zmiennej, możemy użyć metody „adres operatora” (&) , która zwraca adres zmiennej. Aby wyświetlić adres zmiennej, użyj „&” wraz z nazwą zmiennej.
Użyjmy przykładowego programu, aby to zademonstrować:
#include
przy użyciu przestrzeni nazw std ;
int główny ( )
{
int numer1 ;
platforma liczba2 ;
ciąg ul ;
cout << 'Wprowadź wartość całkowitą, aby znaleźć adres pamięci: ' ;
jedzenie >> numer1 ;
cout << 'Wprowadzony numer to: ' << numer1 << koniec ;
cout << 'Adres ' << numer1 << ' Jest: ' <<& numer1 << koniec ;
cout << 'Wprowadź wartość dziesiętną, aby znaleźć adres pamięci: ' ;
jedzenie >> liczba2 ;
cout << 'Wprowadzony numer to:' << liczba2 << koniec ;
cout << 'Adres ' << liczba2 << ' Jest :' <<& liczba2 << koniec ;
cout << „Wprowadź ciąg, aby znaleźć adres pamięci:” ;
jedzenie >> ul ;
Do ( int I = 0 ; I < ul. długość ( ) ; ++ I )
cout << 'Adres ' << ul [ I ] << ' Jest :' << ( próżnia * ) & ul [ I ] << koniec ;
powrót 0 ;
}
Nasze etykiety zmiennych w powyższym programie to num1, num2 i str, z typami danych odpowiednio int, float i string. Operator „&” jest używany z nazwą zmiennej, aby znaleźć jej adres w pamięci. Należy zauważyć, że wyjściem, które podaje adres zmiennej, jest losowo generowana liczba.
Metoda 2: Znajdź adres pamięci zmiennej za pomocą wskaźnika
W C++ adresy zmiennych można również uzyskać za pomocą wskaźników. Zmienna przechowująca adres innej zmiennej jest nazywana wskaźnikiem. Wskaźnik służy jak każda inna zmienna, którą należy określić przed użyciem. Wskaźnik jest zdefiniowany w C++ za pomocą '*' operator, czasami nazywany operatorem gwiazdki.
Spójrzmy na przykładowy program do znajdowania adresu pamięci za pomocą wskaźnika:
#include#włącz <łańcuch>
przy użyciu przestrzeni nazw std ;
int główny ( ) {
int numer1 ;
int * numer_pkt1 = & numer1 ;
platforma liczba2 ;
platforma * numer_pkt2 = & liczba2 ;
ciąg ul ;
cout << 'Wprowadź wartość całkowitą, aby znaleźć adres pamięci: ' ;
jedzenie >> numer1 ;
cout << 'Wprowadzony numer to: ' << numer1 << koniec ;
cout << 'Adres ' << numer1 << ' Jest: ' << numer_pkt1 << koniec ;
cout << 'Wprowadź wartość dziesiętną, aby znaleźć adres pamięci: ' ;
jedzenie >> liczba2 ;
cout << 'Wprowadzony numer to: ' << liczba2 << koniec ;
cout << 'Adres ' << liczba2 << ' Jest: ' << numer_pkt2 << koniec ;
cout << „Wprowadź ciąg, aby znaleźć adres pamięci:” ;
jedzenie >> ul ;
Do ( int I = 0 ; I < ul. długość ( ) ; I ++ ) {
cout << 'Adres ' << ul [ I ] << ' Jest: ' << ( próżnia * ) & ul [ I ] << koniec ;
}
powrót 0 ;
}
Etykiety zmiennych w tym programie to num1, num2 i str, z typami danych odpowiednio int, float i string. Adres zmiennej określany jest za pomocą wskaźnika wraz z nazwą zmiennej. Należy zauważyć, że wyjściem, które podaje adres zmiennej, jest losowo generowana liczba.
Wniosek
Kiedy deklarujemy zmienną dowolnego typu danych w C++, system operacyjny przypisuje jej miejsce w 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, tj adres operatora(&) I zmienne wskaźnikowe , aby określić adres pamięci zmiennej w C++ wraz z prostymi przykładami.