La oss se på hvordan pekere brukes i C-programmeringsspråket.
Vi skal håndtere to variabler:
aptr
Vi skal også møte to nøkkeltegn:
- where would return the address location of variable - where means follow the memory address stored in ptr and set that location to 8
Anta at a ligger på adressen 0x8130 i minnet og ptr ved 0x8134; antar også at dette er en 32-bits maskin slik at en int er 32-bits i størrelse. Følgende er hva som vil være i minnet etter at følgende kodebit er utført:
int a = 5;int *ptr = NULL;
| Adresse | Innhold |
|---|---|
| 0x8130 | 0x00000005 |
| 0x8134 | 0x00000000 |
(NULL-pekeren vist her er 0x00000000.) Ved å tildele adressen til a til ptr:
ptr = &a;
gir følgende minneverdier:
| Adresse | Innhold |
|---|---|
| 0x8130 | 0x00000005 |
| 0x8134 | 0x00008130 |
Deretter ved å referere ptr ved å kode:
*ptr = 8;
tar datamaskinen innholdet av ptr (som er 0x8130), «finn» den adressen og tilordne 8 til den plasseringen som gir følgende minne:
| Adresse | Innhold |
|---|---|
| 0x8130 | 0x00000008 |
| 0x8134 | 0x00008130 |
Åpenbart å få tilgang til a vil gi verdien 8 fordi den forrige instruksjonen endret innholdet i
ved hjelp av pekeren ptr.