Operator dereferenciranja je simbol koji se koristi u računalnom programiranju za dohvaćanje vrijednosti koja se nalazi na određenoj memorijskoj adresi. Operator, obično predstavljen zvjezdicom u izvornom kodu, primjenjuje se prije varijable koja pokazuje na memorijsku adresu ili pokazivač. Ponekad se naziva indirektni operator, također se može koristiti prilikom deklariranja ili inicijalizacije varijabli kako bi se naznačilo da su one pokazivači na tip podataka, a ne na sam tip podataka. Prilikom određivanja redoslijeda operacija, dereferencirajući operator ima prednost nad gotovo svim standardnim matematičkim operatorima.
Da biste razumjeli što ovaj operator radi, važno je razumjeti kako funkcioniraju tipovi podataka u računalnom programiranju. Varijabla u programu može sadržavati vrijednost. Mnogo puta, ovo je jednostavno cijeli broj ili niz znakova. U drugim slučajevima to može biti memorijska adresa koja pokazuje na cjelobrojnu vrijednost. Varijable koje sadrže memorijske adrese nazivaju se pokazivači.
Kada je potrebno dodijeliti, modificirati ili dohvatiti podatke koji su pohranjeni na memorijskoj adresi koju sadrži pokazivač, mora se koristiti operator dereferenciranja. Ako se matematička operacija, kao što je zbrajanje, izvrši na varijabli pokazivača bez dereferenciranja, tada će se operacija izvesti na memorijskoj adresi, a ne na varijabli na koju pokazuje. Postoje slučajevi kada aritmetičke operacije izvedene na memorijskim adresama mogu povećati učinkovitost, kao u slučaju prelaska niza, zbog čega ova funkcionalnost postoji. Kada se dereferencirajući operator koristi na pokazivaču, sve operacije će se izvesti na podacima koji su pohranjeni na memorijskoj lokaciji, a ne na samoj memorijskoj adresi.
Operator se također može koristiti prilikom početne deklaracije nove varijable. Postavljanjem operatora između tipa varijable i naziva varijable, to će naznačiti da nova varijabla treba biti pokazivač na tip podataka, a ne samo instanca tipa. Varijable koje se kreiraju na ovaj način moraju se inicijalizirati nekom vrstom funkcije dodjele memorije, jer će pokazivač morati postaviti na neiskorištenu memorijsku lokaciju od strane upravitelja memorije koji program koristi.
Postoje neke opasnosti koje je potrebno izbjeći pri korištenju operatora dereferenciranja. Najznačajniji je pokušaj dereferenciranja pokazivača koji je null ili nedefiniran. Pokazivač tehnički nema memorijsku adresu, pa će se generirati različite pogreške ili iznimke koje će zaustaviti izvršavanje programa. Postoje null sigurne verzije operatora dereferenciranja koje neće uzrokovati pogrešku, ali ti operatori imaju drugačiju sintaksu.