See artikkel annab juhendi muutuja mäluaadressi leidmiseks keeles C++.
Kuidas määrata muutuja mäluaadressi C++-s
C++-s on muutuja mäluaadressi määramiseks kaks meetodit:
1. meetod: leidke muutuja mäluaadress, kasutades 'aadressi' ja operaatorit
Kui meilt nõutakse muutuja mäluaadressi määramist, saame kasutada 'operaatori aadress' (&) , mis tagastab muutuja aadressi. Muutuja aadressi kuvamiseks kasutage '&' koos muutuja nimega.
Kasutame selle demonstreerimiseks näidisprogrammi:
#include
kasutades nimeruumi std ;
int peamine ( )
{
int number1 ;
ujuk number2 ;
string str ;
cout << 'Selle mäluaadressi leidmiseks sisestage täisarv: ' ;
söömine >> number1 ;
cout << 'Sisestatud number on:' << number1 << endl ;
cout << 'Aadress' << number1 << ' on: ' <<& number1 << endl ;
cout << 'Selle mäluaadressi leidmiseks sisestage kümnendväärtus:' ;
söömine >> number2 ;
cout << 'Sisestatud number on:' << number2 << endl ;
cout << 'Aadress' << number2 << ' on :' <<& number2 << endl ;
cout << 'Selle mäluaadressi leidmiseks sisestage string:' ;
söömine >> str ;
jaoks ( int i = 0 ; i < str. pikkus ( ) ; ++ i )
cout << 'Aadress' << str [ i ] << ' on :' << ( tühine * ) & str [ i ] << endl ;
tagasi 0 ;
}
Meie muutujate sildid ülaltoodud programmis on num1, num2 ja str, andmetüüpidega vastavalt int, float ja string. Operaatorit '&' kasutatakse koos muutuja nimega selle mäluaadressi leidmiseks. Tuleb märkida, et muutuja aadressi esitav väljund on juhuslikult genereeritud arv.
2. meetod: leidke kursori abil muutuja mäluaadress
C++ keeles saab muutujate aadresse ka osutite abil. Muutujat, mis sisaldab teise muutuja aadressi, nimetatakse osutiks. Kursor toimib nagu iga teine muutuja, mis tuleb enne kasutamist määrata. Kursor on defineeritud C++-s '*' operaator, mida mõnikord nimetatakse ka tärnioperaatoriks.
Vaatame näidisprogrammi mäluaadressi leidmiseks kursori abil:
#include#include
kasutades nimeruumi std ;
int peamine ( ) {
int number1 ;
int * ptr_num1 = & number1 ;
ujuk number2 ;
ujuk * ptr_num2 = & number2 ;
string str ;
cout << 'Selle mäluaadressi leidmiseks sisestage täisarv: ' ;
söömine >> number1 ;
cout << 'Sisestatud number on:' << number1 << endl ;
cout << 'Aadress' << number1 << ' on: ' << ptr_num1 << endl ;
cout << 'Selle mäluaadressi leidmiseks sisestage kümnendväärtus:' ;
söömine >> number2 ;
cout << 'Sisestatud number on:' << number2 << endl ;
cout << 'Aadress' << number2 << ' on: ' << ptr_num2 << endl ;
cout << 'Selle mäluaadressi leidmiseks sisestage string:' ;
söömine >> str ;
jaoks ( int i = 0 ; i < str. pikkus ( ) ; i ++ ) {
cout << 'Aadress' << str [ i ] << ' on: ' << ( tühine * ) & str [ i ] << endl ;
}
tagasi 0 ;
}
Selle programmi muutujate sildid on num1, num2 ja str, andmetüüpidega vastavalt int, float ja string. Muutuja aadress määratakse kursori abil koos muutuja nimega. Tuleb märkida, et muutuja aadressi esitav väljund on juhuslikult genereeritud arv.
Järeldus
Kui me C++-s deklareerime mis tahes andmetüübi muutuja, määrab operatsioonisüsteem sellele mälukoha. See mälukoht on suvaline arv, mis ei saa olla negatiivne ja mida tuntakse muutuja aadressina. Muutuja mäluaadressi teadmine võib teatud programmeerimisstsenaariumides olla kasulik. Selles artiklis illustreerisime kahte meetodit operaatori aadress (&) ja osuti muutujad , et määrata C++ muutuja mäluaadress koos lihtsate näidetega.