Hvad er hukommelsesadresse i C++, og hvordan finder man den?

Hvad Er Hukommelsesadresse I C Og Hvordan Finder Man Den



I C++ er en adresse på hukommelsen placeringen af ​​en variabel i RAM'en, hvor dataene er gemt. RAM (Random Access Memory) er en slags computerhukommelse, der kan læses og ændres i enhver rækkefølge og bruges ofte til lagring af driftsdata og maskinkoder. I vores programmer er hver variabel gemt i RAM og optager plads i hukommelsen. Disse variabler har en specifik hukommelsesplacering, og hver af dem har en adresse, der kan hentes gennem og-tegn (&) operator . Denne operatør repræsenterer hukommelsesadressen for en variabel og er nyttig til at få adgang til og manipulere de data, der er gemt på det sted.

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.