sábado, 8 de julio de 2017

Operaciones De Apuntadores

1. Un operador de dirección &:
Representa la dirección de memoria de la variable que le sigue; Operador unario que regresa la dirección de su operando, ejemplo:
                            main()
                           {
                                            int y;
                                            int *yPtr;
                                            y = 5;
                                            yPtr = &y;
                            }
2. Un operador de indirección o de desreferencia:
*. El operador * aplicado al nombre de un apuntador indica el valor de la variable apuntada; Regresa el valor del objeto hacia el cual su operando apunta, es decir un apuntador, ejemplo:
                           main()
                            {
                                            int x,y;
                                            int *py;
                                            y = 5;
                                            *py = y;
                                            x = *py + 5;
                                            printf(''%d %d nn'',*py,x);
                            }

     Se verá con un ejemplo en la diferencia entre todos estos conceptos
Es decir: int x = 25, *pint;
pint = &x;
     La variable pint contiene la dirección de memoria de la variable x. La expresión: *pint representa el valor de la variable (x) apuntada, es decir 25. La variable pint también tiene su propia dirección: &pint
   •      Se pueden realizar asignaciones entre punteros.
int a = 15;
int *p, *q;
q = &a;
p = q;                   /* se asigna la dirección que contiene q a p */
cout<<p;             /* imprime la dirección almacenad en p. */
   •      Se pueden operar solamente el +, el -, el ++ y el --.
Int p;
p = p + 1;            p avanza un entero.
p = p – 2;            p retrocede dos enteros.
p++;         p apunta al siguiente entero.
p--;           p apunta al entero anterior.
   •      Los punteros se pueden comparar.
int            2;
     En el siguiente código se realiza un programa que emplea los operadores (& y *).
#include <iostream.h>
#include <conio.h>
int main()
{
 clrscr();
 int a; //a es un puntero
int * ap;          //ap es un apuntador a un puntero
 a = 7;
 ap= & a;        //ap toma la dirección de a
 cout <<"la dirección de a es " <<&a;
 cout<<" \n el Valor de ap es " << ap;
 cout <<"\n el valor de a es" <<a;
 cout<<"\n el valor de *ap es " << *ap;
 cout<<"\n\n\n Mostrando los valores de * y &" ;
 cout <<"\n &* ap = " <<&*ap;
 cout <<"\n *& ap = " << *&ap;
 getch();
 return 0;
}



No hay comentarios:

Publicar un comentario