El apuntador es una variable especial.
Normalmente a una variable le asignas un valor, caundo necesitas usar el valor almacenado solo referencias a la variable.
En cambio el apuntador lo que almacena es una localidad de memoria en el cual se encuentra el valor que usuras, por medio de esa direccion puedes acceder al valor.
Este es un ejmplo de uso de punteros en C.
Código:
#include <stdio.h>
#include <conio.h>
void main (){
clrscr(); //limpiar
int a; //variable
int *b; //puntero
a = 2; //asignacio de valor
b = &a; //'b' apunta hacia 'a'
*b = 7; //cambiamos el valor de 'a' pormeido del puntero
//imprime la direccion y el valor de 'a'
printf("direccion: %p valor: %i",b,*b);
getch();
}
Saludes