He usado el buscador pero no he encontrado nada que me aclaré, lo que quiero saber es para que sirven realmente los punteros.
Los punteros sirven para las estructuras que manejan memoria de forma dinamica, ese es su principal objetivo.
( busca codigo de una 'lista enlazada' y te va a quedar mas claro ).
Otra cosa que no entiendo es porque dicen que es tan dificil, yo lo vi como una lección mas de C++, seguramente luego me trague mis palabras pero a simple vista me pareció fácil.
Los punteros son muy mentirosos, el problema no es el puntero en si, sino el manejo de memoria de forma manual. Hay estructuras de datos cuyos objetos tienen ciclos de vida bien definidos y muy claros, pero hay otros que no, donde resulta muy dificil saber si un objeto sigue en uso o ya se puede liberar la memoria que tiene asignada.
Otro problema de los punteros es que al producirse una excepción, podrias perder las referencias a algunos objetos y terminarias con 'memory leaks'. Inclusive codigo que parece totalmente seguro, puede llegar a producir excepciones que uno no espera.
Por ahora tomatelo con soda, mira tranqui y anda avanzando, mas adelante van a empezar a aparecer los problemas con punteros y vas a ir conociendo algunos enfoques clasicos para resolverlos ( como por ej los smart pointers ).