martes, 20 de abril de 2010

Los Apuntadores en Programacion.

Los apuntadores son variables que almacenan direcciones de memoria. En general una variable contiene un valor específico dependiendo de cómo fue declarada. Un apuntador contiene la dirección de una variable que contiene un valor específico. Un puntero o apuntador es una variable que referencia una región de memoria;

En otras palabras es una variable cuyo valor es una dirección de memoria. Si se tiene una variable ' p’ De tipo puntero que contiene una dirección de memoria en la que se encuentra almacenado un valor ' v ' se dice que ' p ' apunta a ' v’.
Una variable se refiere directamente a un valor y un apuntador se refiere indirectamente a un valor. Cuentan con una declaración propia. Los apuntadores disponen de dos operadores unarios

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. Los apuntadores pueden ser declarados para apuntar a objetos de cualquier clase.

La sintaxis general de declaración es:
*
Ejemplos de declaraciones:
int *contPtr, cont;
float *res;
unsugned int *nosigno;
char *mensaje;
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''.

El ejemplo que sigue es propio del lenguaje C/C++ y no es de aplicación en otros lenguajes de programación:

struct Elemento // Ejemplo de un nodo de lista doble enlazada
{
int dato;
struct Elemento *siguiente; // Para la declaración de un puntero se usa '*'
struct Elemento *anterior;
};

Los apuntadores en C, C++ son una herramienta muy potente de programación que suele causar mucha confusión en el programador sin experiencia o en quienes estamos aprendiendo a programar, y que lastimosamente en los cursos universitarios a veces se le da una cobertura muy superficial al tema de apuntadores. Además, cuando los programadores cometen un error en su utilización, puede ser muy difícil encontrar el error, por lo cual es importante saber utilizarlos muy bien. El uso de apuntadores en C y C++ es muy importante debido a que permite hacer los programas más eficientes y más flexibles. Y para el manejo de estructuras de TDAs como las pilas, listas, colas etc. son de gran importancia para crear un código de programación mas solido


1 comentario:

  1. Excelente post! la única corrección es que usted menciona apuntadores en Java y en java no existen.
    Muy buenos videos!!

    ResponderEliminar