Ovaj članak pruža vodič za pronalaženje memorijske adrese varijable u C++.
Kako odrediti memorijsku adresu varijable u C++
U C++-u postoje dvije metode za određivanje memorijske adrese varijable:
Metoda 1: Pronađite memorijsku adresu varijable pomoću 'adrese' i operatora
Kada se od nas zahtijeva da odredimo memorijsku adresu varijable, možemo upotrijebiti “adresa operatera” (&) , koji vraća adresu varijable. Za prikaz adrese varijable koristite '&' zajedno s nazivom varijable.
Iskoristimo primjer programa da to demonstriramo:
#include
koristeći prostor imena std ;
int glavni ( )
{
int broj1 ;
plutati broj2 ;
niz str ;
cout << 'Molimo unesite cjelobrojnu vrijednost da pronađete njegovu memorijsku adresu: ' ;
jelo >> broj1 ;
cout << 'Uneseni broj je: ' << broj1 << endl ;
cout << 'Adresa' << broj1 << ' je: ' <<& broj1 << endl ;
cout << 'Molimo unesite decimalnu vrijednost da biste pronašli njegovu memorijsku adresu: ' ;
jelo >> broj2 ;
cout << 'Uneseni broj je:' << broj2 << endl ;
cout << 'Adresa' << broj2 << ' je :' <<& broj2 << endl ;
cout << 'Molimo unesite niz kako biste pronašli njegovu memorijsku adresu: ' ;
jelo >> str ;
za ( int ja = 0 ; ja < str. duljina ( ) ; ++ ja )
cout << 'Adresa' << str [ ja ] << ' je :' << ( poništiti * ) i str [ ja ] << endl ;
povratak 0 ;
}
Naše oznake varijabli u gornjem programu su num1, num2 i str, s tipovima podataka int, float i string. Operator '&' koristi se uz naziv varijable za pronalaženje njezine memorijske adrese. Treba napomenuti da je izlaz koji daje adresu varijable nasumično generiran broj.
Metoda 2: Pronađite memorijsku adresu varijable pomoću pokazivača
U C++-u se adrese varijabli također mogu dobiti pomoću pokazivača. Varijabla koja sadrži adresu druge varijable naziva se pokazivač. Pokazivač služi kao i svaka druga varijabla koja se mora specificirati prije nego što se može koristiti. Pokazivač je definiran u C++ s '*' operator, ponekad poznat kao operator zvjezdice.
Pogledajmo primjer programa za pronalaženje memorijske adrese pomoću pokazivača:
#include#include
koristeći prostor imena std ;
int glavni ( ) {
int broj1 ;
int * ptr_num1 = i broj1 ;
plutati broj2 ;
plutati * ptr_num2 = i broj2 ;
niz str ;
cout << 'Molimo unesite cjelobrojnu vrijednost da pronađete njegovu memorijsku adresu: ' ;
jelo >> broj1 ;
cout << 'Uneseni broj je: ' << broj1 << endl ;
cout << 'Adresa' << broj1 << ' je: ' << ptr_num1 << endl ;
cout << 'Molimo unesite decimalnu vrijednost da biste pronašli njegovu memorijsku adresu: ' ;
jelo >> broj2 ;
cout << 'Uneseni broj je: ' << broj2 << endl ;
cout << 'Adresa' << broj2 << ' je: ' << ptr_num2 << endl ;
cout << 'Molimo unesite niz kako biste pronašli njegovu memorijsku adresu: ' ;
jelo >> str ;
za ( int ja = 0 ; ja < str. duljina ( ) ; ja ++ ) {
cout << 'Adresa' << str [ ja ] << ' je: ' << ( poništiti * ) i str [ ja ] << endl ;
}
povratak 0 ;
}
Oznake varijabli u ovom programu su num1, num2 i str, s tipovima podataka int, float i string. Adresa varijable se određuje pomoću pokazivača zajedno s nazivom varijable. Treba napomenuti da je izlaz koji daje adresu varijable nasumično generiran broj.
Zaključak
Kada deklariramo varijablu bilo kojeg tipa podataka u C++-u, operacijski sustav joj dodjeljuje memorijsku lokaciju. Ova memorijska lokacija je proizvoljan broj koji ne može biti negativan i poznat je kao adresa varijable. Poznavanje memorijske adrese varijable može biti korisno u određenim scenarijima programiranja. U ovom smo članku ilustrirali dvije metode, adresa operatera(&) i varijable pokazivača , za određivanje memorijske adrese varijable u C++ uz jednostavne primjere.