Čo je adresa pamäte v C++ a ako ju nájsť?

Co Je Adresa Pamate V C A Ako Ju Najst



V C++ je adresa pamäte umiestnenie premennej v RAM, kde sú uložené dáta. RAM (Random Access Memory) je druh počítačovej pamäte, ktorú je možné čítať a upravovať v ľubovoľnom poradí a často sa používa na ukladanie prevádzkových údajov a strojových kódov. V našich programoch je každá premenná uložená v RAM a zaberá miesto v pamäti. Tieto premenné majú špecifické umiestnenie v pamäti a každá z nich má adresu, ktorú je možné získať prostredníctvom ampersand (&) operátor . Tento operátor predstavuje pamäťovú adresu premennej a je užitočný na prístup a manipuláciu s údajmi uloženými na tomto mieste.

Tento článok poskytuje návod na nájdenie adresy pamäte premennej v C++.

Ako určiť adresu pamäte premennej v C++

V C++ existujú dve metódy na určenie adresy pamäte premennej:







Metóda 1: Nájdite adresu pamäte premennej pomocou „adresy“ a operátora

Keď sme povinní určiť pamäťovú adresu premennej, môžeme použiť „adresa operátora“ (&) , ktorá vráti adresu premennej. Ak chcete zobraziť adresu premennej, použite '&' spolu s názvom premennej.



Na ukážku použijeme príklad programu:



#include

pomocou menného priestoru std ;

int Hlavná ( )

{

int číslo1 ;

plavák číslo2 ;

reťazec str ;

cout << 'Zadajte celočíselnou hodnotu na nájdenie adresy pamäte: ' ;

jedenie >> číslo1 ;

cout << 'Zadané číslo je: ' << číslo1 << endl ;

cout << 'Adresa' << číslo1 << ' je: ' <<& číslo1 << endl ;

cout << 'Zadajte desiatkovú hodnotu, aby ste našli adresu pamäte: ' ;

jedenie >> číslo2 ;

cout << 'Zadané číslo je:' << číslo2 << endl ;

cout << 'Adresa' << číslo2 << ' je :' <<& číslo2 << endl ;

cout << 'Zadajte reťazec na nájdenie adresy pamäte: ' ;

jedenie >> str ;

pre ( int i = 0 ; i < str. dĺžka ( ) ; ++ i )

cout << 'Adresa' << str [ i ] << ' je :' << ( neplatné * ) & str [ i ] << endl ;

vrátiť 0 ;

}

Naše označenia premenných vo vyššie uvedenom programe sú num1, num2 a str, s dátovými typmi int, float a string. Operátor „&“ sa používa s názvom premennej na nájdenie adresy pamäte. Je potrebné poznamenať, že výstup, ktorý poskytuje adresu premennej, je náhodne vygenerované číslo.





Metóda 2: Nájdite adresu pamäte premennej pomocou ukazovateľa

V C++ je možné adresy premenných získať aj pomocou ukazovateľov. Premenná, ktorá obsahuje adresu inej premennej, sa označuje ako ukazovateľ. Ukazovateľ slúži ako každá iná premenná, ktorá musí byť špecifikovaná pred tým, ako sa dá použiť. Ukazovateľ je definovaný v C++ s '*' operátor, niekedy známy ako operátor s hviezdičkou.



Pozrime sa na príklad programu na nájdenie adresy pamäte pomocou ukazovateľa:

#include

#include

pomocou menného priestoru std ;

int Hlavná ( ) {

int číslo1 ;

int * ptr_num1 = & číslo1 ;

plavák číslo2 ;

plavák * ptr_num2 = & číslo2 ;

reťazec str ;

cout << 'Zadajte celočíselnou hodnotu na nájdenie adresy pamäte: ' ;

jedenie >> číslo1 ;

cout << 'Zadané číslo je: ' << číslo1 << endl ;

cout << 'Adresa' << číslo1 << ' je: ' << ptr_num1 << endl ;

cout << 'Zadajte desiatkovú hodnotu, aby ste našli adresu pamäte: ' ;

jedenie >> číslo2 ;

cout << 'Zadané číslo je: ' << číslo2 << endl ;

cout << 'Adresa' << číslo2 << ' je: ' << ptr_num2 << endl ;

cout << 'Zadajte reťazec na nájdenie adresy pamäte: ' ;

jedenie >> str ;

pre ( int i = 0 ; i < str. dĺžka ( ) ; i ++ ) {

cout << 'Adresa' << str [ i ] << ' je: ' << ( neplatné * ) & str [ i ] << endl ;

}

vrátiť 0 ;

}

Označenia premenných v tomto programe sú num1, num2 a str s dátovými typmi int, float a string. Adresa premennej sa určuje pomocou ukazovateľa spolu s názvom premennej. Je potrebné poznamenať, že výstup, ktorý poskytuje adresu premennej, je náhodne vygenerované číslo.

Záver

Keď v C++ deklarujeme premennú ľubovoľného dátového typu, operačný systém jej pridelí pamäťové miesto. Toto miesto v pamäti je ľubovoľné číslo, ktoré nemôže byť záporné a je známe ako adresa premennej. Poznanie adresy pamäte premennej môže byť užitočné v určitých scenároch programovania. V tomto článku sme ilustrovali dve metódy, tzv adresa prevádzkovateľa(&) a ukazovateľ premenných , na určenie adresy pamäte premennej v C++ spolu s jednoduchými príkladmi.