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.