Programozási koncepciók: Mutatók

Nézzük meg, hogyan használják a mutatókat a C programozási nyelvben.

Két változóval fogunk foglalkozni:

aptr

Két kulcsfontosságú karakterrel is találkozunk:

- where
would return the address location of variable
- where
means follow the memory address stored in ptr and set that location to 8

Tegyük fel, hogy a a 0x8130 címen található a memóriában, és ptr a 0x8134 címen; azt is feltételezzük, hogy ez egy 32 bites gép, így az int 32 bites méret. A következő lenne a memóriában a következő kódrészlet végrehajtása után:

int a = 5;int *ptr = NULL;

Cím Tartalom
0x8130 0x00000005
0x8134 0x00000000

(Az itt látható NULL mutató 0x00000000.) A a cím hozzárendelésével ptr:

 ptr = &a;

a következő memóriaértékeket adja:

Cím Tartalom
0x8130 0x00000005
0x8134 0x00008130

Ezután a ptr kivonásával a kódolással:

 *ptr = 8;

a számítógép A (z) ptr (ami 0x8130) tartalma, “keresse meg” ezt a címet, és rendeljen hozzá 8-at ehhez a helyhez, így a következő memória keletkezik:

Cím Tartalom
0x8130 0x00000008
0x8134 0x00008130

Nyilvánvaló, hogy a a elérése megadja a 8 értéket, mert az előző utasítás módosította a

a mutató útján ptr.

Leave a Reply

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük