OBJETIVO
Se
hizo un programa en el cual se puede observar el funcionamiento de un
apuntador, el cual nos permite entender cómo opera en un programa.
INTRODUCCIÓN
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.
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.
DESARROLLO
Para declarar el apuntador se especificó el tipo de dato
al que apunta, el operador ‘*’, y el nombre del apuntador. La sintaxis es la
siguiente:
Se asignaron al apuntador direcciones de variables a
través del operador de referenciación (‘&’) o direcciones almacenadas en
otros apuntadores.
La desreferenciación se almaceno en el espacio de memoria
donde apunta un apuntador. Esto se hace a través del operador ‘*’, aplicado al
apuntador que contiene la dirección del valor.
PROGRAMA
#include
#include
int main(int argc, char *argv[]) {
int y;
y=10;
int *py; //es un apuntador a un entero
py = &y; //toma la direccion de la variable y
printf("Direccion %p, Valor: %d\n",py, *py);
++*py;
printf("Direccion %p, Valor modificado:
%d\n",py, *py);
system("pause");
return
0;
}
CONCLUSIONES
Al igual que el resto de las variables, los apuntadores
se enlazan a tipos de datos específicos (apuntadores a variables de cierto tipo),
de manera que a un apuntador solo se le pueden asignar direcciones de variables
del tipo especificado en la declaración del apuntador.
Un apuntador puede contener una dirección inválida debido
a que este se declara al igual que cualquier otra variable, el mismo posee un
valor cualquiera que no se puede conocer con antelación, hasta que se
inicialice con algún valor (dirección).
Después de que un apuntador ha sido inicializado, la
dirección que posee puede dejar de ser válida si se libera la memoria reservada
en esa dirección, ya sea porque la variable asociada termina su ámbito o porque
ese espacio de memoria fue reservado dinámicamente y luego se liberó.
No hay comentarios:
Publicar un comentario