¿Qué son punteros?

Punteros: introducción y definiciones básicas

En el repertorio de herramientas disponibles para el lenguaje de C++, hay un gran número de elementos y tipos de variables utilizables para los propósitos que deseemos cumplir a la hora de desarrollar programas. En esta ocasión, se definirá un elemento en particular el cual, aunque a simple vista no parezca relevante en la programación, ciertamente tiene utilidades en muchas ocasiones. Pues bien,¿Qué son los punteros? 

Un puntero es una variable en la cual se almacena la dirección de memoria de un objeto . Los punteros se usan ampliamente en C y C++ para tres propósitos principales:

  1. para asignar nuevos objetos en el montón
  2. Para pasar funciones a otras funciones
  3. Para recorrer en iteración los elementos de matrices u otras estructuras de datos.

Uso del ampersand (&)

El ampersand es un operador de C++ comúnmente utilizado para los punteros. Nos permite obtener la dirección de memoria de una variable cualquiera y es justo la dirección en memoria o que utilizan los punteros para referenciar valores.

Uso del asterisco (*)

El asterisco es el operador por excelencia de los punteros. Su utilidad radica en que si el valor de dicho apuntador corresponde a una dirección de memoria, el asterisco permite resolverla y acceder al valor almacenado allí. Es decir: un apuntador es únicamente una dirección de memoria y el asterisco es el que hace el trabajo de obtener el valor referenciado por dicha dirección.

Para entender de forma práctica la aplicación de los punteros, observe el siguiente ejemplo:


Supóngase que usted nombra una variable, en este caso, la variable se llamará "n".
En la programación, &n nos definirá la dirección de memoria que el valor de la variable n posea, mientras que *n sencillamente define el valor de la variable tal cual se establezca por el usuario que lo asigne.
En el ejercicio, se definen dos variables:
Num (una variable, con valor de 20), y dir_num, la cual en un cambio de variables nos mostrará la dirección de memoria de la variable num. El resultado será el siguiente:



La siguiente imagen también da una explicación sencilla acerca de cómo funcionan los punteros, utilizando un código sencillo:


Diferencias más notables entre C y C++

En la programación de estilo C, se usan punteros sin formato para todos estos escenarios, mientras que en C++ existen punteros más avanzados para asignar objetos, iteradores para recorrer estructuras de datos, y otros elementos. 

Contenido explicativo adicional:




Comentarios

Entradas más populares de este blog

Ejercicio 8