Kas yra nuorodos operatorius?

Nuorodos operatorius yra simbolis, naudojamas kompiuterių programavime norint gauti reikšmę, esančią konkrečiame atminties adresu. Operatorius, paprastai žymimas žvaigždute šaltinio kode, taikomas prieš kintamąjį, kuris nukreipia į atminties adresą arba žymeklį. Kartais vadinamas netiesioginiu operatoriumi, jis taip pat gali būti naudojamas deklaruojant arba inicijuojant kintamuosius, siekiant nurodyti, kad jie yra rodyklės į duomenų tipą, o ne patį duomenų tipą. Nustatant operacijų tvarką, nuorodos operatorius turi viršenybę prieš beveik visus standartinius matematinius operatorius.

Norint suprasti, ką veikia šis operatorius, svarbu suprasti, kaip veikia duomenų tipai kompiuterių programavime. Programos kintamasis gali turėti reikšmę. Daug kartų tai yra tiesiog sveikasis skaičius arba simbolių eilutė. Kitais atvejais tai gali būti atminties adresas, nurodantis sveikojo skaičiaus reikšmę. Kintamieji, turintys atminties adresus, vadinami rodyklėmis.

Kai reikia priskirti, modifikuoti ar nuskaityti duomenis, saugomus žymeklio atminties adresu, reikia naudoti nuorodos operatorių. Jei matematinė operacija, pvz., pridėjimas, atliekama su žymeklio kintamuoju jo nenurodant, operacija bus atliekama su atminties adresu, o ne su kintamuoju, į kurį jis nukreipiamas. Kartais aritmetinės operacijos, atliekamos su atminties adresais, gali padidinti efektyvumą, pavyzdžiui, pereinant per masyvą, todėl ši funkcija egzistuoja. Kai žymeklyje naudojamas nuorodos operatorius, visos operacijos bus atliekamos su duomenimis, saugomais atminties vietoje, o ne su pačiu atminties adresu.

Operatorius taip pat gali būti naudojamas iš pradžių deklaruojant naują kintamąjį. Įdėjus operatorių tarp kintamojo tipo ir kintamojo pavadinimo, jis parodys, kad naujasis kintamasis turėtų būti rodyklė į duomenų tipą, o ne tik tipo egzempliorius. Tokiu būdu sukurtus kintamuosius reikia inicijuoti naudojant tam tikro tipo atminties paskirstymo funkciją, nes programos naudojama atminties tvarkyklė turės nustatyti žymeklį į nenaudojamą atminties vietą.

Yra keletas pavojų, kurių reikia vengti naudojant nuorodos operatorių. Visų pirma, tai yra bandymas pašalinti rodyklę, kuri yra nulinė arba neapibrėžta. Rodyklė techniškai neturi atminties adreso, todėl bus sugeneruotos įvairios klaidos ar išimtys, kurios sustabdys programos vykdymą. Yra nulinės nuorodos operatoriaus versijos, kurios nesukels klaidos, tačiau šių operatorių sintaksė skiriasi.