Kas ir C++ atmiņas adrese un kā to atrast?

Kas Ir C Atminas Adrese Un Ka To Atrast



C++ valodā atmiņas adrese ir mainīgā atrašanās vieta RAM, kurā tiek glabāti dati. RAM (Random Access Memory) ir sava veida datora atmiņa, ko var nolasīt, kā arī modificēt jebkurā secībā un ko bieži izmanto darbības datu un mašīnu kodu glabāšanai. Mūsu programmās katrs mainīgais tiek saglabāts RAM un aizņem vietu atmiņā. Šiem mainīgajiem ir noteikta atmiņas vieta, un katram no tiem ir adrese, kuru var izgūt, izmantojot & operators . Šis operators apzīmē mainīgā lieluma atmiņas adresi un ir noderīgs, lai piekļūtu šajā vietā saglabātajiem datiem un ar tiem manipulētu.

Šajā rakstā ir sniegti norādījumi par mainīgā atmiņas adreses atrašanu programmā C++.

Kā noteikt mainīgā atmiņas adresi programmā C++

Programmā C++ ir divas metodes mainīgā lieluma atmiņas adreses noteikšanai:







1. metode: atrodiet mainīgā atmiņas adresi, izmantojot “adresi” un operatoru

Kad mums ir jānosaka mainīgā lieluma atmiņas adrese, mēs varam izmantot “operatora adrese” (&) , kas atgriež mainīgā adresi. Lai parādītu mainīgā adresi, izmantojiet '&' kopā ar mainīgā nosaukumu.



Lai to parādītu, izmantosim programmas piemēru:



#include

izmantojot namespace std ;

starpt galvenais ( )

{

starpt num1 ;

peldēt num2 ;

string str ;

cout << 'Lūdzu, ievadiet vesela skaitļa vērtību, lai atrastu tās atmiņas adresi: ' ;

ēšana >> num1 ;

cout << 'Ievadītais numurs ir:' << num1 << endl ;

cout << 'Adrese' << num1 << ' ir: ' <<& num1 << endl ;

cout << 'Lūdzu, ievadiet decimālo vērtību, lai atrastu tās atmiņas adresi: ' ;

ēšana >> num2 ;

cout << 'Ievadītais numurs ir:' << num2 << endl ;

cout << 'Adrese' << num2 << 'ir:' <<& num2 << endl ;

cout << 'Lūdzu, ievadiet virkni, lai atrastu tās atmiņas adresi: ' ;

ēšana >> str ;

priekš ( starpt i = 0 ; i < str. garums ( ) ; ++ i )

cout << 'Adrese' << str [ i ] << 'ir:' << ( nederīgs * ) & str [ i ] << endl ;

atgriezties 0 ;

}

Mūsu mainīgo etiķetes iepriekš minētajā programmā ir num1, num2 un str, ar datu tipiem attiecīgi int, float un string. Operatoru “&” izmanto kopā ar mainīgā nosaukumu, lai atrastu tā atmiņas adresi. Jāņem vērā, ka izvade, kas nodrošina mainīgā adresi, ir nejauši ģenerēts skaitlis.





2. metode: atrodiet mainīgā atmiņas adresi, izmantojot rādītāju

Programmā C++ mainīgās adreses var iegūt arī, izmantojot norādes. Mainīgais, kuram ir cita mainīgā adrese, tiek saukts par rādītāju. Rādītājs darbojas tāpat kā jebkurš cits mainīgais, kas ir jānorāda, pirms to var izmantot. Rādītājs ir definēts C++ ar '*' operators, ko dažreiz sauc par zvaigznītes operatoru.



Apskatīsim programmas piemēru, lai atrastu atmiņas adresi, izmantojot rādītāju:

#include

#include

izmantojot namespace std ;

starpt galvenais ( ) {

starpt num1 ;

starpt * ptr_num1 = & num1 ;

peldēt num2 ;

peldēt * ptr_num2 = & num2 ;

string str ;

cout << 'Lūdzu, ievadiet vesela skaitļa vērtību, lai atrastu tās atmiņas adresi: ' ;

ēšana >> num1 ;

cout << 'Ievadītais numurs ir:' << num1 << endl ;

cout << 'Adrese' << num1 << ' ir: ' << ptr_num1 << endl ;

cout << 'Lūdzu, ievadiet decimālo vērtību, lai atrastu tās atmiņas adresi: ' ;

ēšana >> num2 ;

cout << 'Ievadītais numurs ir:' << num2 << endl ;

cout << 'Adrese' << num2 << ' ir: ' << ptr_num2 << endl ;

cout << 'Lūdzu, ievadiet virkni, lai atrastu tās atmiņas adresi: ' ;

ēšana >> str ;

priekš ( starpt i = 0 ; i < str. garums ( ) ; i ++ ) {

cout << 'Adrese' << str [ i ] << ' ir: ' << ( nederīgs * ) & str [ i ] << endl ;

}

atgriezties 0 ;

}

Mainīgo etiķetes šajā programmā ir num1, num2 un str, ar datu tipiem attiecīgi int, float un string. Mainīgā adrese tiek noteikta, izmantojot rādītāju kopā ar mainīgā nosaukumu. Jāņem vērā, ka izvade, kas nodrošina mainīgā adresi, ir nejauši ģenerēts skaitlis.

Secinājums

Kad mēs deklarējam jebkura veida datu mainīgo C++, operētājsistēma tam piešķir atmiņas vietu. Šī atmiņas vieta ir patvaļīgs skaitlis, kas nevar būt negatīvs un ir pazīstams kā mainīgā adrese. Zināt mainīgā lieluma atmiņas adresi var būt noderīgi noteiktos programmēšanas scenārijos. Šajā rakstā mēs ilustrējām divas metodes, operatora adrese (&) un rādītāja mainīgie , lai noteiktu mainīgā C++ atmiņas adresi kopā ar vienkāršiem piemēriem.