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
.