Mi a memóriacím a C programozásban, és hogyan lehet megtalálni?

Mi A Memoriacim A C Programozasban Es Hogyan Lehet Megtalalni



A kifejezés 'memóriacím' ban ben C programozás a számítógép memóriájának azon pozíciójára utal, ahol az adatokat tárolják. Leegyszerűsítve, a memória címét olyan, mint egy utcai cím, amely segít a számítógépnek gyorsabban hozzáférni a tárolt információkhoz. Ahhoz, hogy megértse, hogyan mentődnek az adatok a számítógép memóriájába, meg kell értenie a memóriacímek a C. Fontos megragadni a fogalmát memóriacím C-ben mivel elengedhetetlen a hatékony programok létrehozásához.

Mi az a memóriacím?

A memória címét egy hexadecimális szám, amely azonosítja a program adatainak vagy utasításainak helyét a számítógép memóriájában, és a kezdők számára nehéz lehet megérteni. Közvetlenül olvasni és módosítani memóriacímek , mutatók szükségesek. Egy változó címének megkereséséhez használja az „&” és „és” operátort. Van egy mutatóváltozó, ahol a cím tárolásra kerül.

A memória elrendezésének megértése alapvető fontosságú a memória jobb megértéséhez memóriacímek . A bájtok alkotják a memóriát a C programozásban, és a címek jelzik, hol található az egyes bájtok eleje. Másképpen fogalmazva, a memóriában minden bájt egyedi memória címét . Egy számot tároló változó meghatározott mennyiségű memóriaterületet foglal el bájtokban, és a memória címét a változó kezdeti bájtjának felel meg.







Hogyan keressünk memóriacímet?

Kétféleképpen találhatjuk meg a memória címét a C programozási nyelvben.



1. módszer: Az „&” operátor használata

Az „&” operátor vagy „és” szimbólum a C programozásban használható a változók keresésére memória címét . Ez az operátor lekéri a változó címét a programon belül. Vessen egy pillantást az alábbi példára, hogy jobban megértse ezt a módszert.



#include

int fő- ( ) {

int az egyiken = 40 ;

printf ( 'A szám értéke %d \n ' , az egyiken ) ;

printf ( 'A num memóriacíme %p \n ' , & az egyiken ) ;

Visszatérés 0 ;

}

A fenti kódban egy egész változó 'egyen' 40 értékkel van definiálva. Az értéke 'egyen' és annak memória címét majd kinyomtatja a segítségével printf() függvényt, illetve a %d és %p formátum-specifikációt. A '&egyen' kifejezés visszaadja a memória címét of num, amely ezt követően a %p formátumspecifikátor használatával jelenik meg hexadecimális formátumban.





Kimenet



Jegyzet: Ugyanezt a módszert követhetjük a C programozásban lebegőpontos vagy string típusú változók címének megkeresésére.

2. módszer: Mutató használata

A C programozásban is meg lehet határozni a memória címét mutató segítségével. A memóriaterület címét egy adott adattípusban tárolják, amelyet a C nyelvben mutatónak neveznek. A C nyelvben gyakran használják a számítógép memóriájának manipulálására. Megtalálni a memória címét A mutató segítségével történő C programozásban kövesse az alábbi lépéseket:

1. lépés: A kezdeti lépés az a memória címét egy mutatóváltozó létrehozása. Mutatóváltozó C nyelven történő létrehozásához a változó nevét előzi meg egy csillag jel (*) . Az alábbi kód elmagyarázza, hogyan kell elkészíteni a 'ptr' mutató változó.

int * ptr ;

Jegyzet: A mutatóváltozóba mentett változó memóriahelyét a jelzi csillag jel (*) . Ezt a folyamatot dereferálásnak nevezik.

2. lépés: A mutatóváltozó ezután helyet kap a memóriában. A memória címét egy létező változóból a mutatóváltozóhoz van rendelve a '&' operátor. Íme egy egyszerű példa:

int volt = 5 ;

int * ptr = & volt ;

A következő példa bemutatja a memória címét C-ben a mutató .

#include

int fő- ( ) {

int szám = 100 ;

int * ptr = & szám ;

printf ( 'A számváltozó memóriacíme: %p \n ' , ptr ) ;

Visszatérés 0 ;

}

A fenti kód egy mutatóváltozót deklarál ptr hogy egy egész szám változó címére mutasson szám melynek értéke 100. Az printf() funkció segítségével nyomtathatja ki a memóriacímek egy számnak a %p formátumspecifikátor használatával, amely hexadecimális formátumban írja ki a memóriacímet.

Kimenet

Fontos megjegyezni, hogy a memória címét attól függően változik, hogy a kód melyik operációs rendszeren fut. A memória címét Az egyes rendszereken visszaadott értékek eltérőek lesznek, például ha az azonos kódot két különböző számítógépen futtatják. Ezért ajánlott relatív memóriacímekkel dolgozni, nem pedig kemény kódolással memóriacímek a kódban.

Következtetés

A C programozásban memóriacímek kulcsfontosságúak az adatok módosításához és eléréséhez. A programozás sikeréhez elengedhetetlen, hogy megértsük, hogyan kell megtalálni memóriacímek . A C programozásban a 'és' jel operátor (&) és egy mutatót a megtalálásához memória címét . Mutatókként közvetlenül elérhetők és módosíthatók memóriacímek , fontosak a programok megvalósításához. A programozók használhatják memóriacímek hogy ezeket az alapokat szem előtt tartva sikeres kódot írhassunk.