Sin duda, los punteros son una herramienta indispensable para los sistemas embebidos. Un sólido conocimiento de punteros y la hablidad de utilizarlos eficientemente hace la diferencia entre un programador novato y uno experto. Ellos proporcionan soporte para asignación de memoria dinámica y agregan otra dimensión al control de flujo en un programa.

Los punteros tienen varios usos, incluyendo:

  • Crean código eficiente y rápido
  • Proporcionan asignación de memoria dinámica
  • Hacen expresiones compactas y concisas
  • Protegen datos pasados como parámetros a una función
  • Proporcionan la capacidad de pasar estructuras de datos mediante un puntero sin ocasionar un exceso de código conocido como “overhead”

Los punteros crean código eficiente y rápido ya que están más cerca del hardware. Esto significa que el compilador puede traducir más fácilmente la oparación en código máquina. El “overhead” es mucho menor al utilizar punteros a diferencia de la cantidad de “overhead” que podría presentarse al utilizar otros operadores. Esto sin duda, mejora la administración de memoria de cualquier dispositivo como puede ser un microcontrolador.

La asignación de memoria dinámica es otro uso potente que mejora la administración de memoria del sistema ya que la reserva de memoria se realiza en tiempo de ejecución, es decir cuando el programa se está ejecutando.

Los punteros representan una herramienta poderosa para crear aplicaciones. Al mismo tiempo es una de las más confusas. Entender la noción de punteros implica tener una sólida base en la idea de variables y tipos de memoria.