Hva er en Dereference Operator?

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