martes, 20 de abril de 2010

Apuntadores

Los apuntadores son variables que almacenan direcciones de memoria y contienen la dirección de una variable que contiene un valor específico.. En general una variable contiene un valor específico dependiendo de como fue declarada y además se refiere directamente a un valor y un apuntador se refiere indirectamente a un valor.
Ventajas:
Se puede llegar a obtener un código más compacto y eficiente.Permite usar la asignación dinámica de memoriaManipular y recorrer grandes espacios de memoriaGenerar estructuras de datos complejasParámetros de entrada/salida para funciones, i.e. parámetros por referencia
Desventajas:
Programación avanzada, caótica y/o complicadaProgramación más susceptible de errores muy difíciles de depurarDificultad para leer y comprender códigoCuando se emplean sin cuidado pueden crear programas imposibles de entender.
Los Los apuntadores disponen de dos operadores unarios
El * de la declaración sirve para identificar que la variables es un apuntador.
El operador de dirección (&&) es un operador unario que devuelve la dirección de memoria de su operando,
por ejemplo:int y = 5;int *ptrY
La instrucción ptrY = &y; asigna la dirección dela variable y a la variable de apuntador ptrY.
En c++ es el lenguaje donde más se utilizan apuntadores
En C la referencia permite manipular los datos contenidos en la dirección de memoria guardada en el apuntador. El apuntador guarda una dirección de memoria. La referencia permite que los datos en esa dirección de memoria sean modificados. La referenciación es la obtención de la dirección de una variableEl operador unario "*" se usa para la referencia. Por ejemplo:Ejemplo: *pt1 =*pt1 + 2; Esto le añade dos al valor "apuntado por" pt1. Esto quiere decir que esta instrucción le suma 2 al contenido de la dirección de memoria guardada en el apuntador pt1. Así, en el programa main, pt1 contiene la dirección de j. La variable "j" fue inicializada en 1. El efecto del código de arriba es sumar 2 a j.
Por ejemplo en c++ se pueden usar los distintas maneras de enviar un apuntador a una función• 1. - Un apuntador no constante a un dato no constante.• 2. – Un apuntador no constante a un dato constante.• 3. – Un apuntador constante a un dato no constante.• 4. – Un apuntador constante a un dato constante.Cada combinación proporciona un nivel diferente de privilegios de acceso.
En mi opinio los apuntadores son utililes siempre y cuando se sepa donde y para que usarlos ya que a veces es un tanto confuso sobre todo cuando se trabajan con funciones donde sus argumentos son apuntadores a un arreglo pero es muy importante tener muy claro su concepto ya que si no se maneja puede ocasionarnos dolores de cabeza a la hora de encontrar errores en un programa.


Recursos:
http://homepage.cem.itesm.mx/rogomez/Tutorial-LengC/apuntadores.htmlhttp://eztigma.brinkster.net/apuntadores.htmlhttp://expo.itchihuahua.edu.mx/view.phpf=c_51

1 comentario:

  1. El post esta bien desde el punto de vista del contenido, pero en presentación no es muy grato a la vista. Traté de dejar espacios, utilizar negrita y colores, además de usar imagénes o videos como ayuda para enrriquecer más los post futuros.

    ResponderEliminar