Ce este adresa de memorie în C++ și cum o găsiți?

Ce Este Adresa De Memorie In C Si Cum O Gasiti



În C++, o adresă a memoriei este locația unei variabile în RAM în care sunt stocate datele. RAM (Random Access Memory) este un fel de memorie de computer care poate fi citită și modificată în orice secvență și este frecvent utilizată pentru stocarea datelor de operare și a codurilor de mașină. În programele noastre, fiecare variabilă este stocată în RAM și ocupă spațiu în memorie. Aceste variabile au o locație de memorie specifică și fiecare dintre ele are o adresă care poate fi preluată prin intermediul operator ampersand (&). . Acest operator reprezintă adresa de memorie a unei variabile și este util pentru accesarea și manipularea datelor stocate în acea locație.

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.