Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introducción:
Apuntadores:
Cada casilla representa una dirección de memoria compuesta por un byte (8 bits) y cada
número de la izquierda es su dirección de memoria.
Supón que ahora se declara una variable de tipo char: llamada numero, a la cual se le
asigna un valor de cuarenta y tres, de esta forma:
Para saber cuál es la dirección de memoria de una variable puedes utilizar el operador
dirección de (&), el cual devuelve la dirección de memoria de su operando (es decir la
variable de la que se desea obtener la dirección).
Para aclarar esto enseguida se te muestra un ejemplo del código fuente necesario para
obtener la dirección de memoria de una variable y mostrarla en pantalla.
#include <stdio.h>
#include <windows.h>
int main()
system ("PAUSE");
}
El resultado de editar, depurar y compilar este código fuente es el siguiente:
Explicación:
&numero, numero );
Observa que dentro de la función printf() se colocó el modificador de formato %p, el cual
sirve para mostrar direcciones de memoria por pantalla.
Ahora que sabes lo que es una dirección de memoria, se te explicara lo que son los
apuntadores:
tipo *nombre;
Tipo: es cualquier tipo de variable, por ejemplo char, int, float o doublé. Depende del tipo de
datos de la variable de la cual se pretenda almacenar su dirección de memoria. Por ejemplo
si se desea almacenar la dirección de una variable de tipo char, el apuntador que almacene
la dirección de esta variable debe ser también de tipo char.
Nombre: corresponde al nombre del apuntador, este nombre obedece a las mismas reglas
que el nombre de una variable o el de una constante.
#include <windows.h>
int main()
system ("PAUSE");
Explicación:
int *punt;
Con esta línea de código se declara un apuntador llamado punt capaz de almacenar la
dirección de memoria de una variable de tipo entero.
Enseguida se encuentra escrita la siguiente línea de código:
punt = №
En este momento se dice que punt “apunta” a la variable número ya que almacena su
dirección de memoria.
*punt = 30;
Con esta línea de código se guarda el valor de treinta dentro de la dirección de memoria
que almacena el apuntador punt, es decir, dentro de número, se está accediendo a la
variable número sin “tocarla”, es decir, sin realizar una asignación directa, por ejemplo:
numero =30; gracias al apuntador punt se está modificando el contenido de una variable
sin utilizar su nombre directamente.
El cuarenta y tres que se había guardado previamente en esta misma variable fue
reemplazado y en su lugar se guardó un treinta.
Para corroborar que las líneas de la explicación anterior son ciertas por medio de la función
printf() se volvió a mostrar por pantalla tanto la dirección de memoria de numero como su
nuevo contenido.