Ogni puntatore contiene la locazione di memoria di un oggetto di un certo tipo; per questo, esistono diversi tipi di puntatori; un puntatore viene dichiarato nella maniera seguente:
int *punt_int; /* Puntatore ad intero */ double *punt_double; /* Puntatore a double */ char *punt_char; /* Puntatore a carattere */
...eccetera.