Mit Zeigern kann man in C auch Arithmetik betreiben (Addition und Subtraktion). Wird eine Integer-Konstante c auf einen Zeiger addiert bzw. von ihm subtrahiert, wobei der Zeiger mit TYP *p vereinbart wurde, dann wird genau um c Objekte im Speicher weitergegangen, d. h. die Adresse des Zeigers wird um c * sizeof (TYP) inkrementiert bzw. dekrementiert. Addition und Subtraktion von zwei Zeigern ist nur erlaubt, wenn diesem vom selben Typ sind. Beispiele: int vector[2] = {1, 2}; int *a = vector; int *b = vector+1; int c = b-a;