Denne artikkelen gir en guide for å finne en variabels minneadresse i C++.
Hvordan bestemme en variabels minneadresse i C++
I C++ er det to metoder for å bestemme minneadressen til en variabel:
Metode 1: Finn variabelens minneadresse ved å bruke 'adresse til' og operatør
Når vi er pålagt å bestemme minneadressen til en variabel, kan vi bruke 'operatørens adresse' (&) , som returnerer variabelens adresse. For å vise adressen til en variabel, bruk '&' sammen med variabelnavnet.
La oss bruke et eksempelprogram for å demonstrere dette:
#include
bruker navneområde std ;
int hoved- ( )
{
int nummer1 ;
flyte nummer2 ;
streng str ;
cout << 'Vennligst skriv inn en heltallsverdi for å finne minneadressen: ' ;
spiser >> nummer1 ;
cout << 'Oppgitt nummer er:' << nummer1 << endl ;
cout << 'Adresse til' << nummer1 << ' er: ' <<& nummer1 << endl ;
cout << 'Vennligst skriv inn en desimalverdi for å finne minneadressen: ' ;
spiser >> nummer2 ;
cout << 'Oppgitt nummer er:' << nummer2 << endl ;
cout << 'Adresse til' << nummer2 << ' er :' <<& nummer2 << endl ;
cout << 'Vennligst skriv inn en streng for å finne minneadressen: ' ;
spiser >> str ;
til ( int Jeg = 0 ; Jeg < str. lengde ( ) ; ++ Jeg )
cout << 'Adresse til' << str [ Jeg ] << ' er :' << ( tomrom * ) & str [ Jeg ] << endl ;
komme tilbake 0 ;
}
Variabeletikettene våre i programmet ovenfor er num1, num2 og str, med datatyper som henholdsvis int, float og string. Operatoren '&' brukes med variabelnavnet for å finne minneadressen. Det skal bemerkes at utgangen som gir variabelens adresse er et tilfeldig generert tall.
Metode 2: Finn en variabels minneadresse ved hjelp av en peker
I C++ kan variable adresser også fås ved hjelp av pekere. En variabel som inneholder en annen variabels adresse kalles en peker. En peker fungerer som enhver annen variabel som må spesifiseres før den kan brukes. En peker er definert i C++ med '*' operatør, noen ganger kjent som stjerneoperatøren.
La oss se på et eksempelprogram for å finne minneadressen ved å bruke pekeren:
#include#inkluder
bruker navneområde std ;
int hoved- ( ) {
int nummer1 ;
int * ptr_num1 = & nummer1 ;
flyte nummer2 ;
flyte * ptr_num2 = & nummer2 ;
streng str ;
cout << 'Vennligst skriv inn en heltallsverdi for å finne minneadressen: ' ;
spiser >> nummer1 ;
cout << 'Oppgitt nummer er:' << nummer1 << endl ;
cout << 'Adresse til' << nummer1 << ' er: ' << ptr_num1 << endl ;
cout << 'Vennligst skriv inn en desimalverdi for å finne minneadressen: ' ;
spiser >> nummer2 ;
cout << 'Oppgitt nummer er:' << nummer2 << endl ;
cout << 'Adresse til' << nummer2 << ' er: ' << ptr_num2 << endl ;
cout << 'Vennligst skriv inn en streng for å finne minneadressen: ' ;
spiser >> str ;
til ( int Jeg = 0 ; Jeg < str. lengde ( ) ; Jeg ++ ) {
cout << 'Adresse til' << str [ Jeg ] << ' er: ' << ( tomrom * ) & str [ Jeg ] << endl ;
}
komme tilbake 0 ;
}
Variabeletikettene i dette programmet er num1, num2 og str, med datatyper av henholdsvis int, float og string. Variabeladressen bestemmes ved hjelp av pekeren sammen med variabelnavnet. Det skal bemerkes at utgangen som gir variabelens adresse er et tilfeldig generert tall.
Konklusjon
Når vi erklærer en variabel av en hvilken som helst datatype i C++, blir den tildelt en minneplassering av operativsystemet. Denne minneplasseringen er et vilkårlig tall som ikke kan være negativt og er kjent som variabelens adresse. Å kjenne til minneadressen til en variabel kan være nyttig i visse programmeringsscenarier. I denne artikkelen illustrerte vi to metoder, den adresse til operatør(&) og pekervariabler , for å bestemme minneadressen til en variabel i C++ sammen med enkle eksempler.