Programmeringskoncept: pekare

Låt oss ta en titt på hur pekare används i C-programmeringsspråket.

Vi ska hantera två variabler:

aptr

Vi kommer också att möta två nyckeltecken:

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

Antag att a finns på adressen 0x8130 i minnet och ptr vid 0x8134; antag också att detta är en 32-bitars maskin så att en int är 32-bitars i storlek. Följande är vad som skulle finnas i minnet efter att följande kodavsnitt har körts:

int a = 5;int *ptr = NULL;

Adress Innehåll
0x8130 0x00000005
0x8134 0x00000000

(NULL-pekaren som visas här är 0x00000000.) Genom att tilldela adressen till a till ptr:

 ptr = &a;

ger följande minnesvärden:

Adress Innehåll
0x8130 0x00000005
0x8134 0x00008130

Sedan genom att referera ptr genom att koda:

 *ptr = 8;

tar datorn innehåll i ptr (vilket är 0x8130), ”lokalisera” den adressen och tilldela 8 den platsen vilket ger följande minne:

Adress Innehåll
0x8130 0x00000008
0x8134 0x00008130

Det är uppenbart att åtkomst till a ger värdet 8 eftersom den tidigare instruktionen modifierade innehållet i

via pekaren ptr.

Leave a Reply

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *