Kaj je operater z referenco?

Pri računalniškem programiranju operater dereference, znan tudi kot posredniški operater, deluje na spremenljivko kazalca in vrne lokacijsko vrednost ali vrednost l, na katero kaže v pomnilniku. V programskem jeziku C je operater odstopanja označen z zvezdico ( * ).

Na primer, v C lahko deklariramo spremenljivko x, ki vsebuje celo vrednost, in spremenljivko p, ki ima kazalec na celo število v spominu:

 int x; int * p; 

Tu zvezdica pove prevajalniku, " p ni celo število, ampak kazalec na mesto v spominu, ki vsebuje celo število." Tu ne gre za dereferenco, ampak za del deklaracije kazalca.

Sedaj lahko nastavimo p na lokacijo, ki je dodeljena za vrednost x z uporabo & operator, kar pomeni "naslov".

 p = & x; 

To dejanje pove prevajalniku: "Naslov v pomnilniku, na katerega p kaže, je naslov, ki ste ga dodelili za celo število x ."

Za ponazoritev, če nastavimo vrednost x na 1 z uporabo običajne metode in natisnemo vrednost, bo izhod 1 .

 x = 1; printf ("% d", x); 

Vendar pa lahko spremenimo tudi vrednost x s sklicevanjem na p . To naredimo z zvezdico:

 * p = 2; printf ("% d", x); 

In izhod se spremeni v 2 .

Z drugimi besedami, po tem, ko je bil p razglašen kot kazalec istega tipa kot x in nato nastavljen na točko na vrednost x, lahko uporabimo x in * p izmenično. Ker se obe nanašata na isto stvar, spreminjanje vrednosti enega spremeni vrednost drugega.

Kazalec, Programski izrazi, Spremenljivka