Una vez que termine de revisar esta introducción al uso de los pointers, pase a la PARTE II de tema, en donde encontrará información sobre el uso de pointers para permitir la entrada y salida de parámetros que se pasan a una función "por referencia". Utilizaremos un programa muy simple como ejemplo ilustrativo para entender como opera un pointer y las expresiones que se utilizan. El simulador de MPLAB nos permite ejecutar el programa paso a paso e ir monitoreando el contenido de la memoria RAM, en donde podemos observar 3 localidades: la dirección en donde se almacena el pointer "p" (70H), la dirección en donde se almacena la variable "x" (71H), y la dirección en donde se almacena la variable "y" (73H). 1. ANTES DEL INICIO DE LA SIMULACION DEL PROGRAMA, LA MEMORIA RAM ESTA EN CEROS
2. "int x=1,y=2;, int *p;" LAS LOCALIDADES 71H Y 73H SE CARGAN CON LOS VALORES DE x=1, y=2. SE RESERVA UNA LOCALIDAD DE MEMORIA (70H) PARA EL ALMACENAMIENTO DE p (EL COMPILADOR SABE QUE SE TRATA DE UN POINTER PORQUE AL DEFINIRLO SE UTILIZO LA EXPRESION *p.)
3. "p=&x;" LA LOCALIDAD RESERVADA PARA EL POINTER p (70H) SE CARGA CON EL VALOR DE LA DIRECCION EN DONDE SE ENCUENTRA x, ES DECIR, LA 71H.
4. "y=*p;" LA LOCALIDAD EN DONDE SE ALMACENA LA VARIABLE "y" (73H), SE CARGA CON EL CONTENIDO DE LA LOCALIDAD HACIA DONDE ESTA APUNTANDO EL POINTER p, ES DECIR EL VALOR 1
5. "*p=3;" EL CONTENIDO DE LA LOCALIDAD A DONDE ESTA APUNTANDO EL POINTER (71H), ES IGUAL A 3. |