Шта је оператер са сместаја?

У компјутерском програмирању, оператер дереференце, познат и као индиректни оператер, ради на променљивој показивача и враћа вредност локације, или л-вредност, на коју указује у меморији. У програмском језику Ц, оператор деференце је означен звјездицом ( * ).

На пример, у Ц, можемо да декларишемо променљиву к која држи целу вредност, и променљиву п која држи показивач на целу вредност у меморији:

 инт к; инт * п; 

Овде звездица означава компајлеру, " п није цео број, већ показивач на локацију у меморији која садржи цео број." Овде то није дереференција, већ део декларације показивача.

Сада можемо да поставимо п на локацију додељену за вредност к користећи & оператор, што значи "адреса".

 п = & к; 

Ова акција говори компајлеру: "Адреса у меморији на коју п указује је адреса коју сте доделили за цео број к ."

Да илуструјемо, ако поставимо вредност к на 1 користећи конвенционални метод, и одштампамо вредност, излаз ће бити 1 .

 к = 1; принтф ("% д", к); 

Међутим, такође можемо променити вредност к референцирањем п . Ово радимо са звездицом:

 * п = 2; принтф ("% д", к); 

А излаз се мења на 2 .

Другим речима, након што је п проглашен као показивач истог типа као к и затим постављен да показује на к-ову вредност, можемо користити к и * п наизменично. Пошто се оба односе на исту ствар, промена вредности једне ће променити вредност друге.

Поинтер, Программинг термс, Вариабле