Ez a cikk útmutatót ad a változó memóriacímének megtalálásához C++ nyelven.
Hogyan lehet meghatározni egy változó memóriacímét C++ nyelven
A C++ nyelvben két módszer létezik egy változó memóriacímének meghatározására:
1. módszer: Keresse meg a változó memóriacímét a „címe” és az operátor használatával
Amikor meg kell határoznunk egy változó memóriacímét, használhatjuk a „üzemeltető címe” (&) , amely visszaadja a változó címét. Egy változó címének megjelenítéséhez használja a '&' a változó nevével együtt.
Használjunk egy példaprogramot ennek bemutatására:
#include
névtér std használatával ;
int fő- ( )
{
int szám1 ;
úszó szám2 ;
string str ;
cout << 'Kérjük, adjon meg egy egész értéket a memóriacím megkereséséhez: ' ;
enni >> szám1 ;
cout << 'A beírt szám:' << szám1 << endl ;
cout << 'címe' << szám1 << ' ez: ' <<& szám1 << endl ;
cout << 'Kérjük, adjon meg egy decimális értéket, hogy megtalálja a memóriacímét: ' ;
enni >> szám2 ;
cout << 'A beírt szám:' << szám2 << endl ;
cout << 'címe' << szám2 << 'az:' <<& szám2 << endl ;
cout << 'Kérjük, írjon be egy karakterláncot, hogy megtalálja a memóriacímét: ' ;
enni >> str ;
számára ( int én = 0 ; én < str. hossz ( ) ; ++ én )
cout << 'címe' << str [ én ] << 'az:' << ( üres * ) & str [ én ] << endl ;
Visszatérés 0 ;
}
A fenti programban szereplő változók címkéi: num1, num2 és str, int, float és string adattípusokkal. Az „&” operátort a változónévvel együtt használják a memóriacím megkeresésére. Meg kell jegyezni, hogy a változó címét adó kimenet egy véletlenszerűen generált szám.
2. módszer: Keresse meg egy változó memóriacímét mutató segítségével
A C++-ban változó címek is beszerezhetők mutatók segítségével. Azt a változót, amely egy másik változó címét tartalmazza, mutatónak nevezzük. A mutató ugyanúgy szolgál, mint bármely más változó, amelyet meg kell adni, mielőtt felhasználható lenne. A mutatót a C++-ban a '*' operátor, más néven csillag operátor.
Nézzünk egy példaprogramot a memóriacím megkeresésére mutató segítségével:
#include#include
névtér std használatával ;
int fő- ( ) {
int szám1 ;
int * ptr_num1 = & szám1 ;
úszó szám2 ;
úszó * ptr_num2 = & szám2 ;
string str ;
cout << 'Kérjük, adjon meg egy egész értéket a memóriacím megkereséséhez: ' ;
enni >> szám1 ;
cout << 'A beírt szám:' << szám1 << endl ;
cout << 'címe' << szám1 << ' ez: ' << ptr_num1 << endl ;
cout << 'Kérjük, adjon meg egy decimális értéket, hogy megtalálja a memóriacímét: ' ;
enni >> szám2 ;
cout << 'A beírt szám:' << szám2 << endl ;
cout << 'címe' << szám2 << ' ez: ' << ptr_num2 << endl ;
cout << 'Kérjük, írjon be egy karakterláncot, hogy megtalálja a memóriacímét: ' ;
enni >> str ;
számára ( int én = 0 ; én < str. hossz ( ) ; én ++ ) {
cout << 'címe' << str [ én ] << ' ez: ' << ( üres * ) & str [ én ] << endl ;
}
Visszatérés 0 ;
}
A program változócímkéi: num1, num2 és str, int, float és string adattípusokkal. A változó címét a mutató és a változó neve határozza meg. Meg kell jegyezni, hogy a változó címét adó kimenet egy véletlenszerűen generált szám.
Következtetés
Amikor egy tetszőleges adattípusú változót deklarálunk C++ nyelven, az operációs rendszer hozzárendel egy memóriahelyet. Ez a memóriahely egy tetszőleges szám, amely nem lehet negatív, és a változó címeként ismert. Egy változó memóriacímének ismerete hasznos lehet bizonyos programozási forgatókönyvekben. Ebben a cikkben két módszert mutattunk be, a operátor címe (&) és mutatóváltozók , egy változó memóriacímének meghatározásához C++ nyelven egyszerű példákkal együtt.