¿Cómo funcionan los punteros en ANSI C? ¿Podrías explicarme con ejemplos analógicos y con códigos a la vez?
Un puntero no es más que la dirección de memoria RAM donde se encuentra un dato. El puntero en sí obviamente es un número, pero representa a la casilla de memoria del mismo número donde está situado un dato de algún tipo soportado por el lenguaje C.

`int *punteroAEntero; // Puntero a enteros`
`int entero1 = 5; // Esto es un entero que vale 5`
`punteroAEntero = &entero1; //Ahora apunta a la dirección de memoria que contiene el 5`