Što je memorijska adresa u C programiranju i kako je pronaći?

Sto Je Memorijska Adresa U C Programiranju I Kako Je Pronaci



Uvjet 'memorijska adresa' u C programiranje odnosi se na mjesto u memoriji računala gdje se čuvaju podaci. Pojednostavljeno rečeno, a memorijska adresa je poput kućne adrese koja pomaže računalu da brže pristupi pohranjenim informacijama. Da biste razumjeli kako se podaci spremaju u memoriju računala, morate razumjeti memorijske adrese u C. Važno je shvatiti koncept memorijska adresa u C budući da je bitno u stvaranju učinkovitih programa.

Što je memorijska adresa?

A memorijska adresa je heksadecimalni broj koji identificira lokaciju podataka ili uputa programa u memoriji računala i početnicima može biti teško razumjeti. Izravno čitati i mijenjati memorijske adrese , potrebni su pokazivači. Da biste pronašli adresu varijable, upotrijebite operator znaka &. Postoji varijabla pokazivača gdje se čuva adresa.

Razumijevanje načina na koji je pamćenje uređeno ključno je za stjecanje boljeg razumijevanja memorijske adrese . Bajtovi čine memoriju u C programiranju, a adrese pokazuju gdje se nalazi početak svakog bajta. Drugim riječima, svaki bajt u memoriji ima jedinstven memorijska adresa . Varijabla koja pohranjuje broj zauzima određenu količinu memorijskog prostora u bajtovima, a memorijska adresa odgovara početnom bajtu varijable.







Kako pronaći memorijsku adresu?

Postoje dva načina na koje možemo pronaći a memorijska adresa u programskom jeziku C.



1. metoda: korištenje operatora '&'

Operator '&' ili simbol ampersand u C programiranju mogu se koristiti za pronalaženje varijabli memorijska adresa . Ovaj operator dohvaća adresu varijable unutar programa. Pogledajte primjer u nastavku kako biste bolje razumjeli ovu metodu.



#include

int glavni ( ) {

int na jedan = 40 ;

printf ( 'Vrijednost num je %d \n ' , na jedan ) ;

printf ( 'Memorijska adresa num je %p \n ' , i na jedan ) ;

povratak 0 ;

}

U gornjem kodu, cjelobrojna varijabla 'na jedan' s definiranom vrijednošću 40. Vrijednost 'na jedan' I je memorijska adresa zatim se ispisuje pomoću printf() funkcija i specifikatori formata %d odnosno %p. The '&na jedan' izraz vraća memorijska adresa od num, koji se naknadno prikazuje koristeći specifikator formata %p u heksadecimalnom formatu.





Izlaz



Bilješka: Ista se metoda može slijediti za pronalaženje adrese varijabli s pomičnim zarezom ili niza u C programiranju.

Metoda 2: Korištenje pokazivača

U C programiranju također je moguće odrediti memorijska adresa pomoću pokazivača. Adresa memorijskog područja pohranjena je u određenoj vrsti podataka koja se naziva pokazivač u jeziku C. Često se koriste u C-u za manipuliranje memorijom računala. Da pronađem memorijska adresa u C programiranju pomoću pokazivača, slijedite dolje navedene korake:

Korak 1: Početni korak u lociranju a memorijska adresa je stvoriti varijablu pokazivača. Za stvaranje varijable pokazivača u C-u, imenu varijable prethodi znak znak zvjezdice (*) . Donji kod objašnjava kako konstruirati 'ptr' pokazivačka varijabla.

int * ptr ;

Bilješka: Memorijska lokacija varijable spremljene u varijabli pokazivača označena je simbolom znak zvjezdice (*) . Taj se proces naziva dereferenciranje.

Korak 2: Varijabla pokazivača tada će dobiti mjesto u memoriji. The memorijska adresa postojeće varijable dodjeljuje se varijabli pokazivača pomoću '&' operater. Evo jednostavnog primjera:

int bio je = 5 ;

int * ptr = i bio je ;

Sljedeći primjer pokazuje a memorijska adresa u C-u pomoću a pokazivač .

#include

int glavni ( ) {

int broj = 100 ;

int * ptr = i broj ;

printf ( 'Memorijska adresa varijable broja: %p \n ' , ptr ) ;

povratak 0 ;

}

Gornji kod deklarira varijablu pokazivača ptr da pokazuje na adresu cjelobrojne varijable broj s vrijednošću od 100. The printf() funkcija se zatim koristi za ispis memorijske adrese broja koristeći specifikator formata %p, koji ispisuje memorijsku adresu u heksadecimalnom formatu.

Izlaz

Važno je zapamtiti da memorijska adresa mijenja se ovisno o operativnom sustavu na kojem se kod izvodi. The memorijska adresa vraćen na svakom sustavu će se razlikovati, na primjer, ako se identičan kod izvodi na dva odvojena računala. Stoga se preporuča raditi s relativnim memorijskim adresama umjesto tvrdog kodiranja memorijske adrese u kodu.

Zaključak

U C programiranju, memorijske adrese ključni su za modificiranje i pristup podacima. Da bi programiranje bilo uspješno, bitno je razumjeti kako pronaći memorijske adrese . U C programiranju koristimo operator ampersand (&) i pokazivač za pronalaženje memorijska adresa . Kao što se pokazivači mogu koristiti za izravan pristup i izmjenu memorijske adrese , važni su za provedbu programa. Programeri mogu koristiti memorijske adrese za pisanje uspješnog koda imajući na umu ove osnove.