Kaj je pomnilniški naslov?
A pomnilniški naslov je šestnajstiško število, ki določa lokacijo podatkov ali navodil programa v pomnilniku računalnika in je lahko začetnikom težko razumljivo. Za neposredno branje in spreminjanje pomnilniške naslove , potrebni so kazalci. Če želite poiskati naslov spremenljivke, uporabite znak &. Obstaja spremenljivka kazalca, kjer se hrani naslov.
Razumevanje, kako je urejen spomin, je ključnega pomena za boljše razumevanje pomnilniške naslove . Bajti sestavljajo pomnilnik v programiranju C, naslovi pa kažejo, kje se nahaja začetek vsakega bajta. Povedano drugače, vsak bajt v pomnilniku ima unikat pomnilniški naslov . Spremenljivka, ki shrani število, zavzame določeno količino pomnilniškega prostora v bajtih, in pomnilniški naslov ustreza začetnemu bajtu spremenljivke.
Kako najti pomnilniški naslov?
Obstajata dva načina, kako lahko najdemo a pomnilniški naslov v programskem jeziku C.
1. način: Uporaba operatorja '&'
Za iskanje spremenljivk se lahko uporabi operator '&' ali simbol ampersand v programiranju C pomnilniški naslov . Ta operator pridobi naslov spremenljivke znotraj programa. Za boljše razumevanje te metode si oglejte spodnji primer.
#include
int glavni ( ) {
int na enem = 40 ;
printf ( 'Vrednost num je %d \n ' , na enem ) ;
printf ( 'Pomnilniški naslov num je %p \n ' , & na enem ) ;
vrnitev 0 ;
}
V zgornji kodi celoštevilska spremenljivka 'na enem' z vrednostjo 40 je definirana. Vrednost 'na enem' in njegovo pomnilniški naslov se nato natisne z uporabo printf() funkcija in specifikatorja formata %d oziroma %p. The '&na enem' izraz vrne pomnilniški naslov od num, ki je nato prikazan z uporabo določevalca formata %p v šestnajstiški obliki.
Izhod
Opomba: Enako metodo lahko uporabimo za iskanje naslova spremenljivk s plavajočo vejico ali nizov v programiranju C.
2. način: Uporaba kazalca
V programiranju C je mogoče določiti tudi pomnilniški naslov z uporabo kazalca. Naslov pomnilniške regije je shranjen v določenem podatkovnem tipu, ki se v jeziku C imenuje kazalec. V jeziku C se pogosto uporabljajo za manipulacijo pomnilnika računalnika. Da bi našli pomnilniški naslov pri programiranju C z uporabo kazalca sledite spodnjim korakom:
Korak 1: Začetni korak pri iskanju a pomnilniški naslov je ustvariti spremenljivko kazalca. Če želite ustvariti spremenljivko kazalca v C, je pred imenom spremenljivke znak znak zvezdica (*) . Spodnja koda pojasnjuje, kako sestaviti 'ptr' spremenljivka kazalca.
int * ptr ;Opomba: Pomnilniška lokacija spremenljivke, shranjene v spremenljivki kazalca, je označena z znak zvezdica (*) . Ta postopek se imenuje dereferenciranje.
2. korak: Spremenljivka kazalca bo nato dobila lokacijo v pomnilniku. The pomnilniški naslov obstoječe spremenljivke je dodeljena spremenljivki kazalca z uporabo '&' operater. Tukaj je preprost primer:
int je bil = 5 ;int * ptr = & je bil ;
Naslednji primer prikazuje a pomnilniški naslov v C z uporabo a kazalec .
#includeint glavni ( ) {
int število = 100 ;
int * ptr = & število ;
printf ( 'Pomnilniški naslov številske spremenljivke: %p \n ' , ptr ) ;
vrnitev 0 ;
}
Zgornja koda deklarira spremenljivko kazalca ptr da kaže na naslov celoštevilske spremenljivke število z vrednostjo 100. The printf() funkcija se nato uporabi za tiskanje pomnilniške naslove števila z uporabo določevalca formata %p, ki natisne pomnilniški naslov v šestnajstiški obliki.
Izhod
Pomembno si je zapomniti, da pomnilniški naslov spreminja glede na operacijski sistem, v katerem se izvaja koda. The pomnilniški naslov vrnjena v vsakem sistemu se bo razlikovala, na primer, če se identična koda izvaja na dveh ločenih računalnikih. Zato je priporočljivo delovati z relativnimi pomnilniškimi naslovi in ne s trdim kodiranjem pomnilniške naslove v kodi.
Zaključek
V programiranju C, pomnilniške naslove so ključnega pomena za spreminjanje in dostop do podatkov. Da bi bilo programiranje uspešno, je bistveno razumeti, kako najti pomnilniške naslove . Pri programiranju C uporabljamo operator ampersand (&) in kazalec za iskanje pomnilniški naslov . Kot kazalci se lahko uporabljajo za neposreden dostop in spreminjanje pomnilniške naslove , so pomembni za izvajanje programov. Programerji lahko uporabljajo pomnilniške naslove za pisanje uspešne kode z upoštevanjem teh osnov.