Co je adresa paměti v C++ a jak ji najít?

Co Je Adresa Pameti V C A Jak Ji Najit



V C++ je adresa paměti umístění proměnné v RAM, kde jsou uložena data. RAM (Random Access Memory) je druh počítačové paměti, kterou lze číst i upravovat v libovolném pořadí a často se používá pro ukládání provozních dat a strojových kódů. V našich programech je každá proměnná uložena v paměti RAM a zabírá místo v paměti. Tyto proměnné mají specifické umístění v paměti a každá z nich má adresu, kterou lze získat prostřednictvím operátor ampersand (&). . Tento operátor představuje paměťovou adresu proměnné a je užitečný pro přístup a manipulaci s daty uloženými na tomto místě.

Tento článek poskytuje návod, jak najít adresu paměti proměnné v C++.

Jak určit adresu paměti proměnné v C++

V C++ existují dvě metody pro určení adresy paměti proměnné:







Metoda 1: Najděte adresu paměti proměnné pomocí „adresy“ a operátora

Když jsme povinni určit paměťovou adresu proměnné, můžeme použít 'adresa provozovatele' (&) , která vrací adresu proměnné. Chcete-li zobrazit adresu proměnné, použijte '&' spolu s názvem proměnné.



Použijme ukázkový program, který to demonstruje:



#include

pomocí jmenného prostoru std ;

int hlavní ( )

{

int číslo1 ;

plovák číslo2 ;

řetězec str ;

cout << 'Zadejte prosím celočíselnou hodnotu pro zjištění adresy paměti: ' ;

jíst >> číslo1 ;

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

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

cout << 'Zadejte prosím desetinnou hodnotu pro zjištění adresy paměti: ' ;

jíst >> číslo2 ;

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

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

cout << 'Zadejte prosím řetězec pro nalezení adresy paměti: ' ;

jíst >> str ;

pro ( int i = 0 ; i < str. délka ( ) ; ++ i )

cout << 'Adresa' << str [ i ] << ' je :' << ( prázdnota * ) & str [ i ] << endl ;

vrátit se 0 ;

}

Naše štítky proměnných ve výše uvedeném programu jsou num1, num2 a str s datovými typy int, float a string. Operátor ‚&‘ se používá s názvem proměnné k nalezení adresy paměti. Je třeba poznamenat, že výstup, který poskytuje adresu proměnné, je náhodně generované číslo.





Metoda 2: Najděte adresu paměti proměnné pomocí ukazatele

V C++ lze proměnné adresy získat také pomocí ukazatelů. Proměnná, která obsahuje adresu jiné proměnné, se nazývá ukazatel. Ukazatel slouží jako jakákoli jiná proměnná, která musí být specifikována, než ji lze použít. Ukazatel je definován v C++ pomocí '*' operátor, někdy známý jako operátor hvězdička.



Podívejme se na ukázkový program pro nalezení adresy paměti pomocí ukazatele:

#include

#include <řetězec>

pomocí jmenného prostoru std ;

int hlavní ( ) {

int číslo1 ;

int * ptr_num1 = & číslo1 ;

plovák číslo2 ;

plovák * ptr_num2 = & číslo2 ;

řetězec str ;

cout << 'Zadejte prosím celočíselnou hodnotu pro zjištění adresy paměti: ' ;

jíst >> číslo1 ;

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

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

cout << 'Zadejte prosím desetinnou hodnotu pro zjištění adresy paměti: ' ;

jíst >> číslo2 ;

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

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

cout << 'Zadejte prosím řetězec pro nalezení adresy paměti: ' ;

jíst >> str ;

pro ( int i = 0 ; i < str. délka ( ) ; i ++ ) {

cout << 'Adresa' << str [ i ] << ' je: ' << ( prázdnota * ) & str [ i ] << endl ;

}

vrátit se 0 ;

}

Označení proměnných v tomto programu jsou num1, num2 a str s datovými typy int, float a string. Adresa proměnné je určena pomocí ukazatele spolu s názvem proměnné. Je třeba poznamenat, že výstup, který poskytuje adresu proměnné, je náhodně generované číslo.

Závěr

Když v C++ deklarujeme proměnnou libovolného datového typu, operační systém jí přiřadí paměťové místo. Toto paměťové místo je libovolné číslo, které nemůže být záporné a je známé jako adresa proměnné. Znalost adresy paměti proměnné může být užitečná v určitých programovacích scénářích. V tomto článku jsme ilustrovali dvě metody, tzv adresa provozovatele(&) a ukazatelové proměnné , k určení adresy paměti proměnné v C++ spolu s jednoduchými příklady.