¿Qué es un apuntador?
Es cuando se declara una variable, el compilador reserva un espacio de memoria para ella y
asocia el nombre de esta a la dirección de memoria desde donde comienzan los datos de esa
variable. Las direcciones de memoria se suelen describir como números en hexadecimal. Un
apuntador es una variable cuyo valor es la dirección de memoria de otra variable. Se dice que un
apuntador “apunta” a la variable cuyo valor se almacena a partir de la dirección de memoria que
contiene el apuntador. Por ejemplo, si un apuntador p almacena la dirección de una variable x, se
dice que “p apunta a x”.
En C/C++ para poder entender lo anterior, en C/C++ se han desarrollado operadores que permiten
accesar a cada uno de los atributos de un apuntador.
Hay un claro ejemplo de que se pueden accesar a los tributos normales de una variable “normal”,
con una variable se tiene en cuenta, digamos la variable “x” y se toma en cuenta lo siguiente:
Referencia Atributo
x Nos da el contenido de X
&x Nos da la dirección donde “vive” x
Referencia Atributo
P Nos da el contenido de p (Una dirección)
&p Nos da la dirección donde “vive” p
*p Nos da su valor indireccto
A esto se llega a una conclusión de que la variable “x” o expresión este genera un error, pero a
cambio con la variable p ya que es un valor indirecto solo es exclusivo de variables de puntero.
Es comprender que existen ciertos niveles de indireccion para poder asignar un valor a una
variable puntero.
En cada nivel se asemejan a una escalera en donde el piso es el nivel 0. Cada operación realizada
mediante el operador de indireccion sube o baja un nivel de indireccion. Por ejemplo, para el caso
de la variable x.
:
Nivel 5
Nivel 3
Nivel 2 &x
Nivel 1 x/
Nivel 0
DANIEL ANDRES CAPERA BAUTISTA 81816 18/05/2020
En esta figura podemos percatar en qué nivel se encuentra cada una de los atributos de nuestra
variable normal. Cómo se puede observar el nivel cero lo ocupa la variable x. Y &x ocupa el nivel 1.
:
Nivel 4
Nivel 3 &p
Nivel 2 P
Nivel 1 *p/
Nivel 0
En el caso de una variable puntero podemos constatar que por definición una variable puntera ya
tiene un nivel de indireccion predeterminado. La variable p por sí misma ya nace un nivel arriba de
x.
1. Un apuntador por definición “nace” en un nivel de indireccion arriba por el de cualquier otro tipo
de expresión.
operador &.
operador *.
niveles.
errores de compilación.
Pag 5 PDF
DANIEL ANDRES CAPERA BAUTISTA 81816 18/05/2020
Ejercicios
Ç
DANIEL ANDRES CAPERA BAUTISTA 81816 18/05/2020