Apuntadores en Pascal

En una computadora cada posición de memoria tiene una dirección y un valor específico almacenado en esa posición. Se han utilizado nombres de variables en lugar de direcciones porque los nombres son más fáciles de recordar. Para almacenar un nuevo valor en memoria se asigna a una variable, y la computadora envía una dirección a la memoria seguida por el valor a almacenar en esa posición.

Pascal proporciona un tipo especial de variable denominado apuntador, que es una variable cuyo valor es una dirección de una posición de memoria.

Al definir un tipo apuntador se debe indicar el tipo de valores que se almacenarán en las posiciones designadas por los apuntadores. La razón es que los diferentes tipos de datos requieren diferentes cantidades de memoria para almacenar sus constantes, una variable apuntador puede contener una dirección de una posición de memoria adecuada sólo para un tipo dado. Por esta razón se dice que un apuntador apunta a una variable particular.

Una variable tipo apuntador contiene la dirección de la posición de otra variable

Para declarar una variable de tipo apuntador en Pascal se debe especificar el nombre de la variable y el tipo del valor que se almacenará en la posición de memoria a la que el apuntador se refiere.

Formato:

Typetipo_apuntador= ^tipo dato

Una variable de tipotipo_apuntador es un apuntador hacia un dato de tipo nombre del tipo. El signo ‘^’ se lee «apunta hacia«.

Ejemplos:

  1. TypeApuntador = ^real;   
    VarP : Apuntador;  
    {define el tipo,cuyos valores apuntan
     a posiciones que contienen números reales     
     P apunta a posiciones que
     contienen números reales}
  2. VarP: ^real;
  3. Typeregistro = recordnombre:string[10];
                   edad :integer;
                   sexo :char end;
    VarP :integer;
      Q :^registro;

P sólo puede contener direcciones de posiciones de memoria adecuada para almacenar enteros. Q se limita a datos de tipo registro.