Está en la página 1de 20

Apuntadores

Cuando una variable se declara, se asocian tres


atributos fundamentales con la misma:
➢su nombre
➢su tipo
➢su dirección en memoria.

Al valor de una variable se accede por medio de su


nombre.
A la dirección de la variable se accede mediante el
operador de dirección &.
Apuntadores

Un apuntador es una variable que contiene una


dirección de una posición de memoria que puede
corresponder o no a una variable declarada en el
programa.

La declaración de una variable apuntador debe indicar


el tipo de dato al que apunta; para ello se hace preceder
a su nombre con un asterisco *.
Declaración de apuntadores
La forma general de la declaración de un apuntador es:

tipo_de_dato *nombre_apuntador

tipo_de_dato especifica el tipo de datos al que apunta el


apuntador.

nombre_apuntador es el nombre de la variable de


apuntador, el cual puede ser cualquier nombre válido de
variable en C.
El operador de dirección “&”
El lenguaje C también proporciona un operador, &,
que puede utilizar en caso de que desee saber el
valor izquierdo de una variable. Este operador se
llama operador de dirección debido a que se
evalúa como la dirección (es decir, el valor
izquierdo) de una variable.

int x;
int *y;
y = &x;
NOTA:
El estándar ANSI maneja el especificador de
formato %p utilizado en la función printf().
Si por algún motivo el compilador que esta
manejando no acepta %p, puede intentar
utilizar %u o %lu en la función printf() para
convertir e imprimir una dirección.
El operador de indirección

En C el “*” se llama operador de


indirección cuando se usa como operador
unario.
Se puede hacer referencia al valor de
una variable mediante la combinación del
operador * y su operando, el cual contiene
la dirección de la variable.
Apuntadores NULOS

Se dice que un apuntador es nulo cuando su valor derecho


es 0.
Un apuntador nulo nunca puede apuntar a datos válidos.
Por esta razón, puede verificar un apuntador para ver si
tiene asignado 0; si es así, se sabe que se trata de un
apuntador nulo y que no es válido.

char *aptr_c;
int *aptr_int;

aptr_c = aptr_int = 0;
Aritmética de apuntadores

A un apuntador se le puede sumar o restar un


entero n; esto hace que apunte n posiciones
adelante o atrás de la actual.
A una variable puntero se le puede aplicar el
operador ++, o el operador --.
Esto hace que contenga la dirección siguiente, o
anterior elemento.
No tiene sentido, sumar o restar una constante de
punto flotante.
Operadores no válidas con
apuntadores

• No se pueden sumar dos apuntadores


• No se pueden multiplicar dos apuntadores
• No se pueden dividir dos apuntadores
Resumen
➢ Un apuntador es una variable cuyo valor apunta a otra
variable.
➢ El operador de dirección (&) se puede usar para obtener
la dirección en memoria de una variable.
➢ En una declaración de apuntador, el asterisco (*) le
indica al compilador que la variable es una variable de
apuntador.
➢ Puede actualizar el valor de una variable a la que hace
referencia una variable de apuntador.
➢ Varios apuntadores pueden apuntar a la misma
ubicación de una variable en la memoria.
Actualización de variables por
medio de apuntadores

El objetivo es que puede escribir un nuevo


valor en la ubicación de memoria de una
variable empleando un apuntador que
contenga el valor de la dirección de
memoria de dicha variable.

También podría gustarte