Acest articol oferă un ghid pentru găsirea adresei de memorie a unei variabile în C++.
Cum să determinați adresa de memorie a unei variabile în C++
În C++, există două metode pentru a determina adresa de memorie a unei variabile:
Metoda 1: Găsiți adresa de memorie a variabilei folosind „adresa” și operator
Când ni se cere să determinăm adresa de memorie a unei variabile, putem utiliza „adresa operatorului” (&) , care returnează adresa variabilei. Pentru a afișa adresa unei variabile, utilizați '&' împreună cu numele variabilei.
Să folosim un exemplu de program pentru a demonstra acest lucru:
#include
folosind namespace std ;
int principal ( )
{
int num1 ;
pluti num2 ;
șir str ;
cout << „Vă rugăm să introduceți o valoare întreagă pentru a-i găsi adresa de memorie: ” ;
mâncând >> num1 ;
cout << „Numărul introdus este:” << num1 << endl ;
cout << 'Adresa de' << num1 << ' este: ' <<& num1 << endl ;
cout << „Vă rugăm să introduceți o valoare zecimală pentru a-i găsi adresa de memorie: ” ;
mâncând >> num2 ;
cout << „Numărul introdus este :” << num2 << endl ;
cout << 'Adresa de' << num2 << ' este :' <<& num2 << endl ;
cout << 'Vă rugăm să introduceți un șir pentru a găsi adresa de memorie: ' ;
mâncând >> str ;
pentru ( int i = 0 ; i < str. lungime ( ) ; ++ i )
cout << 'Adresa de' << str [ i ] << ' este :' << ( gol * ) & str [ i ] << endl ;
întoarcere 0 ;
}
Etichetele noastre variabile din programul de mai sus sunt num1, num2 și str, cu tipuri de date int, float și, respectiv, șir. Operatorul „&” este utilizat cu numele variabilei pentru a găsi adresa de memorie a acesteia. Trebuie remarcat faptul că rezultatul care furnizează adresa variabilei este un număr generat aleatoriu.
Metoda 2: Găsiți adresa de memorie a unei variabile folosind un pointer
În C++, adresele variabile pot fi obținute și folosind pointeri. O variabilă care deține adresa altei variabile este denumită indicator. Un pointer servește ca orice altă variabilă care trebuie specificată înainte de a putea fi utilizată. Un pointer este definit în C++ cu '*' operator, uneori cunoscut sub numele de operator asterisc.
Să ne uităm la un exemplu de program pentru a găsi adresa de memorie folosind pointerul:
#include#include <șir>
folosind namespace std ;
int principal ( ) {
int num1 ;
int * ptr_num1 = & num1 ;
pluti num2 ;
pluti * ptr_num2 = & num2 ;
șir str ;
cout << „Vă rugăm să introduceți o valoare întreagă pentru a-i găsi adresa de memorie: ” ;
mâncând >> num1 ;
cout << „Numărul introdus este:” << num1 << endl ;
cout << 'Adresa de' << num1 << ' este: ' << ptr_num1 << endl ;
cout << „Vă rugăm să introduceți o valoare zecimală pentru a-i găsi adresa de memorie: ” ;
mâncând >> num2 ;
cout << „Numărul introdus este:” << num2 << endl ;
cout << 'Adresa de' << num2 << ' este: ' << ptr_num2 << endl ;
cout << 'Vă rugăm să introduceți un șir pentru a găsi adresa de memorie: ' ;
mâncând >> str ;
pentru ( int i = 0 ; i < str. lungime ( ) ; i ++ ) {
cout << 'Adresa de' << str [ i ] << ' este: ' << ( gol * ) & str [ i ] << endl ;
}
întoarcere 0 ;
}
Etichetele variabilelor din acest program sunt num1, num2 și str, cu tipuri de date int, float și, respectiv, string. Adresa variabilei este determinată folosind indicatorul împreună cu numele variabilei. Trebuie remarcat faptul că rezultatul care furnizează adresa variabilei este un număr generat aleatoriu.
Concluzie
Când declarăm o variabilă de orice tip de date în C++, i se atribuie o locație de memorie de către sistemul de operare. Această locație de memorie este un număr arbitrar care nu poate fi negativ și este cunoscut sub numele de adresa variabilei. Cunoașterea adresei de memorie a unei variabile poate fi utilă în anumite scenarii de programare. În acest articol, am ilustrat două metode, cea adresa operatorului(&) și variabile pointer , pentru a determina adresa de memorie a unei variabile în C++ împreună cu exemple simple.