Tämä artikkeli tarjoaa oppaan muuttujan muistiosoitteen löytämiseen C++:ssa.
Kuinka määrittää muuttujan muistiosoite C++:ssa
C++:ssa on kaksi tapaa määrittää muuttujan muistiosoite:
Tapa 1: Etsi muuttujan muistiosoite käyttämällä 'osoitetta' ja operaattoria
Kun meidän on määritettävä muuttujan muistiosoite, voimme käyttää 'operaattorin osoite' (&) , joka palauttaa muuttujan osoitteen. Jos haluat näyttää muuttujan osoitteen, käytä '&' muuttujan nimen kanssa.
Käytämme esimerkkiohjelmaa tämän osoittamiseen:
#include
käyttämällä nimiavaruutta std ;
int pää ( )
{
int numero1 ;
kellua numero2 ;
string str ;
cout << 'Syötä kokonaislukuarvo löytääksesi sen muistiosoitteen: ' ;
syöminen >> numero1 ;
cout << 'Syötetty numero on:' << numero1 << endl ;
cout << 'osoite' << numero1 << ' On: ' <<& numero1 << endl ;
cout << 'Syötä desimaaliarvo löytääksesi sen muistiosoitteen: ' ;
syöminen >> numero2 ;
cout << 'Syötetty numero on:' << numero2 << endl ;
cout << 'osoite' << numero2 << ' On :' <<& numero2 << endl ;
cout << 'Syötä merkkijono löytääksesi sen muistiosoitteen:' ;
syöminen >> str ;
varten ( int i = 0 ; i < str. pituus ( ) ; ++ i )
cout << 'osoite' << str [ i ] << ' On :' << ( mitätön * ) & str [ i ] << endl ;
palata 0 ;
}
Yllä olevan ohjelman muuttujatunnisteet ovat num1, num2 ja str, joiden tietotyypit ovat int, float ja string. &-operaattoria käytetään muuttujan nimen kanssa sen muistiosoitteen etsimiseen. On huomattava, että tulos, joka antaa muuttujan osoitteen, on satunnaisesti generoitu luku.
Tapa 2: Etsi muuttujan muistiosoite osoittimen avulla
C++:ssa muuttujaosoitteita voidaan saada myös osoittimilla. Muuttujaa, joka sisältää toisen muuttujan osoitteen, kutsutaan osoittimeksi. Osoitin toimii kuten mikä tahansa muu muuttuja, joka on määritettävä ennen kuin sitä voidaan käyttää. Osoitin määritellään C++:ssa '*' operaattori, joka tunnetaan joskus myös tähtioperaattorina.
Katsotaanpa esimerkkiohjelmaa muistiosoitteen löytämiseksi osoittimen avulla:
#include#sisällytä
käyttämällä nimiavaruutta std ;
int pää ( ) {
int numero1 ;
int * ptr_num1 = & numero1 ;
kellua numero2 ;
kellua * ptr_num2 = & numero2 ;
string str ;
cout << 'Syötä kokonaislukuarvo löytääksesi sen muistiosoitteen: ' ;
syöminen >> numero1 ;
cout << 'Syötetty numero on:' << numero1 << endl ;
cout << 'osoite' << numero1 << ' On: ' << ptr_num1 << endl ;
cout << 'Syötä desimaaliarvo löytääksesi sen muistiosoitteen: ' ;
syöminen >> numero2 ;
cout << 'Syötetty numero on:' << numero2 << endl ;
cout << 'osoite' << numero2 << ' On: ' << ptr_num2 << endl ;
cout << 'Syötä merkkijono löytääksesi sen muistiosoitteen:' ;
syöminen >> str ;
varten ( int i = 0 ; i < str. pituus ( ) ; i ++ ) {
cout << 'osoite' << str [ i ] << ' On: ' << ( mitätön * ) & str [ i ] << endl ;
}
palata 0 ;
}
Tämän ohjelman muuttujatunnisteet ovat num1, num2 ja str, joiden tietotyypit ovat int, float ja string. Muuttujan osoite määritetään käyttämällä osoitinta muuttujan nimen kanssa. On huomattava, että tulos, joka antaa muuttujan osoitteen, on satunnaisesti generoitu luku.
Johtopäätös
Kun ilmoitamme minkä tahansa tietotyypin muuttujan C++:ssa, käyttöjärjestelmä määrittää sille muistipaikan. Tämä muistipaikka on mielivaltainen luku, joka ei voi olla negatiivinen ja joka tunnetaan muuttujan osoitteena. Muuttujan muistiosoitteen tunteminen voi olla hyödyllistä tietyissä ohjelmointiskenaarioissa. Tässä artikkelissa kuvasimme kahta menetelmää, operaattorin osoite (&) ja osoitinmuuttujat , määrittääksesi C++:n muuttujan muistiosoitteen yksinkertaisten esimerkkien kanssa.