En pointer er en datatype inden for programmering af computere, der, meget basalt, er en variabel indeholdende en adresse der peger på et sted i computerens lager. På et højere abstraktionsniveau kan en pointer beskrives som en reference, ikke nødvendigvis en adresse.
En pointer benyttes inden for nogle programmeringssprog, mens andre ikke tillader dem.
En pointer kan pege på en variabel. Denne variabel kan være simpel eller sammensat af flere variable (aggregat). En sammensat variabel kan være en record eller et objekt. En pointer kan også pege på eksekverbar kode, en del af et oversat program. Endelig kan den pege på ingenting, den siges så at have værdien null eller nil.
Ved at ændre adressen lagret i en pointervariabel, kan man få pointeren til at pege på et andet sted i lageret. Dette kaldes pointer aritmetik, og kan f.eks. benyttes til at flytte en pointer så langt frem, at den nu peger på næste element i en tabel. Normalt vil en programmør ikke skulle regne direkte på adressen i en pointer, men nogle programmeringssprog tillader dette.