У компјутерском програмирању, оператер дереференце, познат и као индиректни оператер, ради на променљивој показивача и враћа вредност локације, или л-вредност, на коју указује у меморији. У програмском језику Ц, оператор деференце је означен звјездицом ( * ).
На пример, у Ц, можемо да декларишемо променљиву к која држи целу вредност, и променљиву п која држи показивач на целу вредност у меморији:
инт к; инт * п;
Овде звездица означава компајлеру, " п није цео број, већ показивач на локацију у меморији која садржи цео број." Овде то није дереференција, већ део декларације показивача.
Сада можемо да поставимо п на локацију додељену за вредност к користећи & оператор, што значи "адреса".
п = & к;
Ова акција говори компајлеру: "Адреса у меморији на коју п указује је адреса коју сте доделили за цео број к ."
Да илуструјемо, ако поставимо вредност к на 1 користећи конвенционални метод, и одштампамо вредност, излаз ће бити 1 .
к = 1; принтф ("% д", к);
Међутим, такође можемо променити вредност к референцирањем п . Ово радимо са звездицом:
* п = 2; принтф ("% д", к);
А излаз се мења на 2 .
Другим речима, након што је п проглашен као показивач истог типа као к и затим постављен да показује на к-ову вредност, можемо користити к и * п наизменично. Пошто се оба односе на исту ствар, промена вредности једне ће променити вредност друге.
Поинтер, Программинг термс, Вариабле