Apuntadores

Solo disponible en BuenasTareas
  • Páginas : 10 (2462 palabras )
  • Descarga(s) : 0
  • Publicado : 9 de marzo de 2011
Leer documento completo
Vista previa del texto
APUNTADORES.

LOS APUNTADORES:
* Los apuntadores son variables que almacenan direcciones de memoria.
* En general una variable contiene un valor específico dependiendo de como fue declarada.
* Un apuntador contiene la dirección de una variable que contiene un valor específico.
* Una variable se refiere directamente a un valor y un apuntador se refiere indirectamente a un valor.* Apuntadores usados en C debido a que a veces son la única manera de expresar un cálculo.
* Se puede llegar a obtener un código más compacto y eficiente.
* Cuando se emplean sin cuidado pueden crear programas imposibles de entender.
* Cuentan con una declaración propia.
* Los apuntadores disponen de dos operadores: El operador unario o monódico “&” devuelve la dirección dememoria de una variable; El operador de indirección o desreferencia “*” devuelve el ``contenido de un objeto apuntado por un apuntador''.

Declaración De Apuntadores:
* Los apuntadores como cualquier otra variable deben de ser declarados antes de que puedan ser utilizados.
* El tipo de un apuntador lo proporciona implícitamente el tipo de la variable a la que apunta.
* Losapuntadores pueden ser declarados para apuntar a objetos de cualquier clase.
* La sintaxis general de declaración es:
<tipo> * <variable>
* Ejemplos de declaraciones:
* La variable contPtr es del tipo apuntador a entero, (int *) y se lee ``contPtr es un apuntador a int'' o ``contPtr apunta a una variable entera''.

NOTA: Un apuntador a cualquier tipo de variables es una direcciónen memoria, la cual es una dirección entera, pero un apuntador NO es un entero.
La razón por la cual se asocia un apuntador a un tipo de dato, es por que se debe conocer en cuantos bytes esta guardado el dato. De tal forma, que cuando se incrementa un apuntador, se incrementa el apuntador por un ``bloque'' de memoria, en donde el bloque esta en función del tamaño del dato. Por lo tanto para unapuntador a un char, se agrega un byt a la dirección y para un apuntador a entero o a flotante se agregan 4 bytes. De esta forma si a un apuntador a flotante se le suman 2, el apuntador entonces se mueve dos posiciones float que equivalen a 8 bytes.

Los Operadores De Los Apuntadores:
 Un operador de dirección &:
Representa la dirección de memoria de la variable que le sigue; Operadorunario que regresa la dirección de su operando, ejemplo:
                            main()
                           { 
                                            int y; 
                                            int *yPtr;
                                            y = 5; 
                                            yPtr = &y; 
                            }

Un operador deindirecció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); 
                            }

ejemplo en C la diferencia entre todos estos conceptos:
Es decir:
int x = 25, *pint;
pint = &x;
La variable pint contiene la direcciónde 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
Inicialización de APUNTADORES:
< Almacenamiento > < Tipo > * < Nombre > = < Expresión >
Si <Almacenamiento> es extern o static, <Expresión> deberá ser una expresión constante...
tracking img