viernes, 13 de marzo de 2015

APUNTADOR

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