Den här artikeln ger en guide för att hitta en variabels minnesadress i C++.
Hur man bestämmer en variabels minnesadress i C++
I C++ finns det två metoder för att bestämma minnesadressen för en variabel:
Metod 1: Hitta variabelns minnesadress med 'adress till' och operatör
När vi måste bestämma minnesadressen för en variabel kan vi använda 'operatörens adress' (&) , som returnerar variabelns adress. För att visa adressen till en variabel, använd '&' tillsammans med variabelnamnet.
Låt oss använda ett exempelprogram för att visa detta:
#include
använder namnutrymme std ;
int huvud ( )
{
int nummer1 ;
flyta nummer2 ;
sträng str ;
cout << 'Ange ett heltalsvärde för att hitta dess minnesadress: ' ;
äter >> nummer1 ;
cout << 'Inmatat nummer är:' << nummer1 << endl ;
cout << 'Adress till' << nummer1 << ' är: ' <<& nummer1 << endl ;
cout << 'Ange ett decimalvärde för att hitta dess minnesadress: ' ;
äter >> nummer2 ;
cout << 'Inmatat nummer är:' << nummer2 << endl ;
cout << 'Adress till' << nummer2 << ' är :' <<& nummer2 << endl ;
cout << 'Ange en sträng för att hitta dess minnesadress: ' ;
äter >> str ;
för ( int i = 0 ; i < str. längd ( ) ; ++ i )
cout << 'Adress till' << str [ i ] << ' är :' << ( tomhet * ) & str [ i ] << endl ;
lämna tillbaka 0 ;
}
Våra variabeletiketter i programmet ovan är num1, num2 och str, med datatyperna int, float respektive string. Operatorn '&' används med variabelnamnet för att hitta dess minnesadress. Det bör noteras att utgången som tillhandahåller variabelns adress är ett slumpmässigt genererat nummer.
Metod 2: Hitta en variabels minnesadress med hjälp av en pekare
I C++ kan variabla adresser även erhållas med hjälp av pekare. En variabel som innehåller en annan variabels adress kallas en pekare. En pekare fungerar som vilken annan variabel som helst som måste specificeras innan den kan användas. En pekare definieras i C++ med '*' operator, ibland känd som asteriskoperator.
Låt oss titta på ett exempelprogram för att hitta minnesadress med hjälp av pekaren:
#include#inkludera
använder namnutrymme std ;
int huvud ( ) {
int nummer1 ;
int * ptr_num1 = & nummer1 ;
flyta nummer2 ;
flyta * ptr_num2 = & nummer2 ;
sträng str ;
cout << 'Ange ett heltalsvärde för att hitta dess minnesadress: ' ;
äter >> nummer1 ;
cout << 'Inmatat nummer är:' << nummer1 << endl ;
cout << 'Adress till' << nummer1 << ' är: ' << ptr_num1 << endl ;
cout << 'Ange ett decimalvärde för att hitta dess minnesadress: ' ;
äter >> nummer2 ;
cout << 'Inmatat nummer är:' << nummer2 << endl ;
cout << 'Adress till' << nummer2 << ' är: ' << ptr_num2 << endl ;
cout << 'Ange en sträng för att hitta dess minnesadress: ' ;
äter >> str ;
för ( int i = 0 ; i < str. längd ( ) ; i ++ ) {
cout << 'Adress till' << str [ i ] << ' är: ' << ( tomhet * ) & str [ i ] << endl ;
}
lämna tillbaka 0 ;
}
Variabeletiketterna i det här programmet är num1, num2 och str, med datatyperna int, float respektive string. Variabeladressen bestäms med hjälp av pekaren tillsammans med variabelnamnet. Det bör noteras att utgången som tillhandahåller variabelns adress är ett slumpmässigt genererat nummer.
Slutsats
När vi deklarerar en variabel av vilken datatyp som helst i C++ tilldelas den en minnesplats av operativsystemet. Denna minnesplats är ett godtyckligt tal som inte kan vara negativt och är känt som variabelns adress. Att känna till minnesadressen för en variabel kan vara användbart i vissa programmeringsscenarier. I den här artikeln illustrerade vi två metoder, den adress till operatören (&) och pekare variabler , för att bestämma minnesadressen för en variabel i C++ tillsammans med enkla exempel.