I dataprogrammering opererer en dereference operatør, også kjent som en indirection operatør, på en pekervariabel og returnerer lokaliseringsverdien eller l-verdien som den peker på i minnet. I C programmeringsspråket er betegnelsen operatør betegnet med en stjerne ( * ).
For eksempel, i C, kan vi deklarere en variabel x som inneholder en heltallverd og en variabel p som holder en peker til et heltall i minnet:
int x; int * p;
Her forteller stjernen kompilatoren, " p er ikke et heltall, men heller en peker til et sted i minnet som inneholder et heltall." Her er det ikke en dereference, men en del av en pointerdeklarasjon.
Nå kan vi sette p til plasseringen som er tilordnet for verdien av x ved hjelp av & operatøren, som betyr "adresse til."
p = & x;
Denne handlingen forteller kompilatoren, "adressen i minnet som p peker til er adressen du tildelte for heltalet x ."
For å illustrere, hvis vi setter verdien av x til 1 ved hjelp av den konvensjonelle metoden, og skriv ut verdien, vil utgangen være 1 .
x = 1; printf ("% d", x);
Vi kan imidlertid også endre verdien av x ved å referere på s . Vi gjør dette med en stjerne:
* p = 2; printf ("% d", x);
Og utgangen endres til 2 .
Med andre ord, etter at p er blitt erklært som en peker av samme type som x og deretter satt til å peke på xs verdi, kan vi bruke x og * p utskiftbart. Siden de begge refererer til det samme, vil endringen av verdien av den ene endre verdien til den andre.
Pointer, Programmeringsbetingelser, Variabel