Mis on C++ mäluaadress ja kuidas seda leida?

Mis On C Maluaadress Ja Kuidas Seda Leida



C++ keeles on mälu aadress muutuja asukoht RAM-is, kuhu andmed salvestatakse. RAM (Random Access Memory) on teatud tüüpi arvutimälu, mida saab lugeda ja muuta mis tahes järjestuses ning mida kasutatakse sageli tööandmete ja masinkoodide salvestamiseks. Meie programmides salvestatakse iga muutuja RAM-i ja see võtab mälus ruumi. Nendel muutujatel on konkreetne mälukoht ja igal neist on aadress, mida saab hankida ampersand (&) operaator . See operaator tähistab muutuja mäluaadressi ja on kasulik selles kohas salvestatud andmetele juurdepääsuks ja nendega manipuleerimiseks.

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.