Wat is geheugenadres in C ++ en hoe vind je het?

Wat Is Geheugenadres In C En Hoe Vind Je Het



In C++ is een adres van het geheugen de locatie van een variabele in het RAM waar de gegevens worden opgeslagen. RAM (Random Access Memory) is een soort computergeheugen dat in elke volgorde kan worden gelezen en gewijzigd en dat vaak wordt gebruikt voor het opslaan van bedrijfsgegevens en machinecodes. In onze programma's wordt elke variabele opgeslagen in het RAM en neemt deze ruimte in het geheugen in beslag. Deze variabelen hebben een specifieke geheugenlocatie en elk van hen heeft een adres dat kan worden opgehaald via de ampersand (&)-operator . Deze operator vertegenwoordigt het geheugenadres van een variabele en is handig voor toegang tot en manipulatie van de gegevens die op die locatie zijn opgeslagen.

Dit artikel biedt een handleiding voor het vinden van het geheugenadres van een variabele in C++.

Hoe het geheugenadres van een variabele in C ++ te bepalen

In C++ zijn er twee methoden om het geheugenadres van een variabele te bepalen:







Methode 1: Zoek het geheugenadres van de variabele met behulp van 'adres van' & operator

Wanneer we het geheugenadres van een variabele moeten bepalen, kunnen we de “adres operator” (&) , die het adres van de variabele retourneert. Gebruik om het adres van een variabele weer te geven '&' samen met de naam van de variabele.



Laten we een voorbeeldprogramma gebruiken om dit te demonstreren:



#include

namespace std; gebruiken ;

int voornaamst ( )

{

int nummer1 ;

vlot nummer2 ;

tekenreeks str ;

cout << 'Voer een geheel getal in om het geheugenadres te vinden: ' ;

aan het eten >> nummer1 ;

cout << 'Ingevoerd nummer is: ' << nummer1 << eindel ;

cout << 'Adres van ' << nummer1 << ' is: ' <<& nummer1 << eindel ;

cout << 'Voer een decimale waarde in om het geheugenadres te vinden: ' ;

aan het eten >> nummer2 ;

cout << 'Ingevoerd nummer is :' << nummer2 << eindel ;

cout << 'Adres van ' << nummer2 << ' is :' <<& nummer2 << eindel ;

cout << 'Voer een string in om het geheugenadres te vinden: ' ;

aan het eten >> str ;

voor ( int i = 0 ; i < str. lengte ( ) ; ++ i )

cout << 'Adres van ' << str [ i ] << ' is :' << ( leegte * ) & str [ i ] << eindel ;

opbrengst 0 ;

}

Onze variabele labels in het bovenstaande programma zijn num1, num2 en str, met gegevenstypen van respectievelijk int, float en string. De operator '&' wordt gebruikt met de naam van de variabele om het geheugenadres te vinden. Opgemerkt moet worden dat de uitvoer die het adres van de variabele levert een willekeurig gegenereerd getal is.





Methode 2: zoek het geheugenadres van een variabele met behulp van een aanwijzer

In C++ kunnen variabele adressen ook worden verkregen met behulp van pointers. Een variabele die het adres van een andere variabele bevat, wordt een pointer genoemd. Een aanwijzer dient net als elke andere variabele die moet worden opgegeven voordat deze kan worden gebruikt. Een pointer wordt in C++ gedefinieerd met de '*' operator, ook wel bekend als de asterisk-operator.



Laten we eens kijken naar een voorbeeldprogramma om het geheugenadres te vinden met behulp van de aanwijzer:

#include

#include

namespace std; gebruiken ;

int voornaamst ( ) {

int nummer1 ;

int * ptr_getal1 = & nummer1 ;

vlot nummer2 ;

vlot * ptr_getal2 = & nummer2 ;

tekenreeks str ;

cout << 'Voer een geheel getal in om het geheugenadres te vinden: ' ;

aan het eten >> nummer1 ;

cout << 'Ingevoerd nummer is: ' << nummer1 << eindel ;

cout << 'Adres van ' << nummer1 << ' is: ' << ptr_getal1 << eindel ;

cout << 'Voer een decimale waarde in om het geheugenadres te vinden: ' ;

aan het eten >> nummer2 ;

cout << 'Ingevoerd nummer is: ' << nummer2 << eindel ;

cout << 'Adres van ' << nummer2 << ' is: ' << ptr_getal2 << eindel ;

cout << 'Voer een string in om het geheugenadres te vinden: ' ;

aan het eten >> str ;

voor ( int i = 0 ; i < str. lengte ( ) ; i ++ ) {

cout << 'Adres van ' << str [ i ] << ' is: ' << ( leegte * ) & str [ i ] << eindel ;

}

opbrengst 0 ;

}

De variabelelabels in dit programma zijn num1, num2 en str, met respectievelijk de gegevenstypen int, float en string. Het adres van de variabele wordt bepaald met behulp van de aanwijzer samen met de naam van de variabele. Opgemerkt moet worden dat de uitvoer die het adres van de variabele levert een willekeurig gegenereerd getal is.

Conclusie

Wanneer we een variabele van elk gegevenstype in C++ declareren, krijgt deze een geheugenlocatie toegewezen door het besturingssysteem. Deze geheugenlocatie is een willekeurig getal dat niet negatief kan zijn en staat bekend als het adres van de variabele. Het kennen van het geheugenadres van een variabele kan nuttig zijn in bepaalde programmeerscenario's. In dit artikel hebben we twee methoden geïllustreerd, de adres van operator(&) En aanwijzervariabelen , om het geheugenadres van een variabele in C++ te bepalen, samen met eenvoudige voorbeelden.