Denne artikel giver en guide til at finde en variabels hukommelsesadresse i C++.
Sådan bestemmes en variabels hukommelsesadresse i C++
I C++ er der to metoder til at bestemme hukommelsesadressen for en variabel:
Metode 1: Find variablens hukommelsesadresse ved hjælp af 'adresse på' og operatør
Når vi skal bestemme hukommelsesadressen for en variabel, kan vi bruge 'operatørens adresse' (&) , som returnerer variablens adresse. For at vise adressen på en variabel, brug '&' sammen med variabelnavnet.
Lad os bruge et eksempelprogram til at demonstrere dette:
#include
bruger navneområde std ;
int vigtigste ( )
{
int nummer1 ;
flyde nummer 2 ;
streng str ;
cout << 'Indtast en heltalsværdi for at finde dens hukommelsesadresse: ' ;
spise >> nummer1 ;
cout << 'Det indtastede nummer er: ' << nummer1 << endl ;
cout << 'Adresse på' << nummer1 << 'er:' <<& nummer1 << endl ;
cout << 'Indtast venligst en decimalværdi for at finde dens hukommelsesadresse: ' ;
spise >> nummer 2 ;
cout << 'Det indtastede nummer er:' << nummer 2 << endl ;
cout << 'Adresse på' << nummer 2 << 'er:' <<& nummer 2 << endl ;
cout << 'Indtast venligst en streng for at finde dens hukommelsesadresse:' ;
spise >> str ;
til ( int jeg = 0 ; jeg < str. længde ( ) ; ++ jeg )
cout << 'Adresse på' << str [ jeg ] << 'er:' << ( ugyldig * ) & str [ jeg ] << endl ;
Vend tilbage 0 ;
}
Vores variable etiketter i ovenstående program er num1, num2 og str, med datatyper af henholdsvis int, float og string. Operatoren '&' bruges sammen med variabelnavnet til at finde dens hukommelsesadresse. Det skal bemærkes, at outputtet, der giver variablens adresse, er et tilfældigt genereret tal.
Metode 2: Find en variabels hukommelsesadresse ved hjælp af en markør
I C++ kan variable adresser også opnås ved hjælp af pointere. En variabel, der indeholder en anden variabels adresse, kaldes en pointer. En pointer fungerer som enhver anden variabel, der skal specificeres, før den kan bruges. En pointer er defineret i C++ med '*' operator, nogle gange kendt som stjerneoperatoren.
Lad os se på et eksempelprogram til at finde hukommelsesadresse ved hjælp af pointer:
#include#inkluder
bruger navneområde std ;
int vigtigste ( ) {
int nummer1 ;
int * ptr_num1 = & nummer1 ;
flyde nummer 2 ;
flyde * ptr_num2 = & nummer 2 ;
streng str ;
cout << 'Indtast en heltalsværdi for at finde dens hukommelsesadresse: ' ;
spise >> nummer1 ;
cout << 'Det indtastede nummer er: ' << nummer1 << endl ;
cout << 'Adresse på' << nummer1 << 'er:' << ptr_num1 << endl ;
cout << 'Indtast venligst en decimalværdi for at finde dens hukommelsesadresse: ' ;
spise >> nummer 2 ;
cout << 'Det indtastede nummer er: ' << nummer 2 << endl ;
cout << 'Adresse på' << nummer 2 << 'er:' << ptr_num2 << endl ;
cout << 'Indtast venligst en streng for at finde dens hukommelsesadresse:' ;
spise >> str ;
til ( int jeg = 0 ; jeg < str. længde ( ) ; jeg ++ ) {
cout << 'Adresse på' << str [ jeg ] << 'er:' << ( ugyldig * ) & str [ jeg ] << endl ;
}
Vend tilbage 0 ;
}
Variableetiketterne i dette program er num1, num2 og str, med datatyperne henholdsvis int, float og string. Variabeladressen bestemmes ved hjælp af markøren sammen med variabelnavnet. Det skal bemærkes, at outputtet, der giver variablens adresse, er et tilfældigt genereret tal.
Konklusion
Når vi erklærer en variabel af enhver datatype i C++, tildeles den en hukommelsesplacering af operativsystemet. Denne hukommelsesplacering er et vilkårligt tal, der ikke kan være negativt og er kendt som variablens adresse. At kende hukommelsesadressen for en variabel kan være nyttig i visse programmeringsscenarier. I denne artikel har vi illustreret to metoder, nemlig adresse på operatør(&) og pointer variabler , for at bestemme hukommelsesadressen for en variabel i C++ sammen med simple eksempler.