'

Hasta ahora he explicado que las variables de un programa, son espacios de memoria al cual se accede a través de su identificador. Los identificadores, son convertidos a direcciones de memoria cuando se compila el programa, y las direcciones de memoria, son números que nos indican, en que parte de la memoria se encuentran los datos o valores de una variable.

Un puntero es una variable que nos permite guardar una dirección de memoria. Es decir, si definimos una variable con el identificador Precio, entonces la dirección de memoria de la variable Precio, se puede almacenar en un puntero. Cuando un puntero contiene la dirección de memoria de otra variable, entonces se dice que el puntero apunta a la variable.

Las variables creadas con la palabra reservada VAR, se les conoce como variables estáticas, ya que tienen un tamaño definido desde el momento en que se crea el programa, pero también existen las variables dinámicas, estas variables se pueden crear cuando se las necesita y borrar cuando ya no se las necesita durante la ejecución del programa. Pero, el acceso a los datos o valores de una variable dinámica es a través de los punteros, ya que las variables dinámicas no usan un identificador que nos permita acceder a los datos o valores de la variable.

Las variables estáticas, tienen sus limitaciones, una de ellas es que no se pueden cambiar sus tamaños, ya que el tipo de dato de una variable estática, determina su tamaño. Es decir, si tiene que hacer un programa para manipular el contenido de un archivo y no conoce de antemano el tamaño del archivo, al usar una variable estática, digamos un arreglo de 512 bytes, el programa se verá limitado a trabajar con ese arreglo. Pero si digamos se usa una variable dinámica, entonces se podría crear una variable dinámica del tamaño del archivo que se quiere manipular, permitiendo que el programa use la memoria RAM del ordenador que es mucho más rápido que acceder a un disco duro.

Las variables estáticas se crean en un espacio de memoria conocido como el área de datos, que es una zona de la memoria RAM reservada para el programa, y las variables dinámicas se crean en la memoria disponible o sin uso de la computadora, al cual se le conoce como montículo.

En este capítulo, se estudiará el uso del tipo de dato pointer, como definir variables dinámicas de tipos de datos enteros, reales y registros; también se explicarán el uso de los tipos de datos: PChar, PWidechar, UnicodeString y AnsiString, que son punteros que nos permiten crear variables dinámicas de cadenas de caracteres.