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ó .
#includeint 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.