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

Hvad Er Hukommelsesadresse I C Programmering Og Hvordan Finder Man Den



Begrebet 'hukommelsesadresse' i C programmering henviser til den position i computerens hukommelse, hvor dataene opbevares. I forenklede vendinger, a hukommelsesadresse er som en adresse, der hjælper computeren med hurtigere at få adgang til de lagrede oplysninger. For at forstå, hvordan data gemmes i computerens hukommelse, skal du forstå hukommelsesadresser i C. Det er vigtigt at forstå begrebet hukommelsesadresse i C da det er afgørende for at skabe effektive programmer.

Hvad er en hukommelsesadresse?

EN hukommelsesadresse er et hexadecimalt tal, der identificerer placeringen af ​​et programs data eller instruktion i computerens hukommelse og kan være svært for begyndere at forstå. For direkte at læse og ændre hukommelsesadresser , er der brug for pointer. For at finde en variabels adresse skal du bruge '&' og-tegnet operatoren. Der er en pointervariabel, hvor adressen opbevares.

At forstå hvordan hukommelsen er indrettet er afgørende for at få en større forståelse af hukommelsesadresser . Bytes udgør hukommelse i C-programmering, og adresser angiver, hvor hver bytes begyndelse er placeret. For at sige det på en anden måde har hver byte i hukommelsen en unik hukommelsesadresse . En variabel, der gemmer et tal, optager en bestemt mængde hukommelsesplads i bytes, og hukommelsesadresse svarer til variablens indledende byte.







Hvordan finder man en hukommelsesadresse?

Der er to måder, vi kan finde en hukommelsesadresse i programmeringssprog C.



Metode 1: Brug '&' Operator

'&'-operatoren eller og-tegnet i C-programmering kan bruges til at finde en variabel hukommelsesadresse . Denne operatør henter adressen på variablen i programmet. Tag et kig på eksemplet nedenfor for at få en bedre forståelse af denne metode.



#include

int vigtigste ( ) {

int på en = 40 ;

printf ( 'Værdien af ​​num er %d \n ' , på en ) ;

printf ( 'Hukommelsesadressen for num er %p \n ' , & på en ) ;

Vend tilbage 0 ;

}

I ovenstående kode, en heltalsvariabel 'på en' med værdien 40 er defineret. Værdien af 'på en' ogdet er hukommelsesadresse udskrives derefter ved hjælp af printf() funktion og henholdsvis formatspecifikationerne %d og %p. Det '&på en' udtryk returnerer hukommelsesadresse af num, som efterfølgende vises ved hjælp af %p-formatspecifikationen i hexadecimalt format.





Produktion



Bemærk: Den samme metode kan følges til at finde adressen på variabler med flydende komma eller strengtype i C-programmering.

Metode 2: Brug af en pointer

I C-programmering er det også muligt at bestemme hukommelsesadresse ved hjælp af en pointer. Adressen på en hukommelsesregion er gemt i en bestemt datatype kaldet en pointer på sproget C. De bruges ofte i C til at manipulere computerens hukommelse. For at finde hukommelsesadresse i C-programmering ved hjælp af markøren, følg nedenstående givne trin:

Trin 1: Det indledende trin i at lokalisere en hukommelsesadresse er at oprette en pointervariabel. For at oprette en pointervariabel i C, er variabelnavnet foranstillet af en stjernetegn (*) . Nedenstående kode forklarer, hvordan man konstruerer 'ptr' pointer variabel.

int * ptr ;

Bemærk: Hukommelsesplaceringen for den variabel, der er gemt i pointervariablen, er angivet med stjernetegn (*) . Denne proces kaldes dereferencing.

Trin 2: Pointervariablen får så en placering i hukommelsen. Det hukommelsesadresse af en eksisterende variabel tildeles til markørvariablen ved hjælp af '&' operatør. Her er et simpelt eksempel:

int var = 5 ;

int * ptr = & var ;

Følgende eksempel viser en hukommelsesadresse i C ved hjælp af a pointer .

#include

int vigtigste ( ) {

int nummer = 100 ;

int * ptr = & nummer ;

printf ( 'Hukommelsesadresse for talvariabel: %p \n ' , ptr ) ;

Vend tilbage 0 ;

}

Ovenstående kode erklærer en pointervariabel ptr at pege på adressen på en heltalsvariabel nummer med en værdi af 100. Den printf() funktionen bruges derefter til at udskrive hukommelsesadresser af et tal ved hjælp af %p-formatspecifikationen, som udskriver hukommelsesadressen i hexadecimalt format.

Produktion

Det er vigtigt at huske, at hukommelsesadresse ændres afhængigt af det operativsystem, koden kører på. Det hukommelsesadresse returneret på hvert system vil variere, for eksempel hvis den identiske kode køres på to separate computere. Det anbefales derfor at arbejde med relative hukommelsesadresser i stedet for hårdkodning hukommelsesadresser i koden.

Konklusion

I C-programmering, hukommelsesadresser er afgørende for at ændre og få adgang til data. For at programmering skal lykkes, er det vigtigt at forstå, hvordan man finder hukommelsesadresser . I C-programmering bruger vi og-tegn operator (&) og en pegepind til at finde hukommelsesadresse . Som pointere kan bruges til at få direkte adgang til og ændre hukommelsesadresser , de er vigtige for implementering af programmer. Programmører kan bruge hukommelsesadresser at skrive vellykket kode ved at holde disse grundlæggende i tankerne.