^ [ ]

Operador de indirección. Este operador requiere un nivel ligeramente avanzado en técnicas de programación. El uso de punteros es una característica de otros lenguajes que, aunque puede ser muy útil, no resulta imprescindible para la realización de programas, por complejos que éstos sean.

El símbolo ^ sirve para hacer referencia a una posición determinada de la memoria del ordenador.

Caso práctico


Por ejemplo, si se tiene una variable denominada mi_variable con el valor 3, ésta estará en una dirección de la memoria (todas las variables tienen su dirección), el operador OFFSET sirve para obtener esta dirección.

Suponiendo que exista otra variable denominada dirección_de_mi_variable en la que guardar la dirección de la variable anterior, ésto se haría con la siguiente sentencia:

  dirección_de_mi_variable = OFFSET mi_variable;

Esta dirección será un número entero, pongamos 12345; para obtener el valor de la variable (3) o modificarlo, teniendo únicamente la dirección (posición) de la variable en memoria (y no su nombre), se debe utilizar el operador ^, la sentencia obtener el valor de la variable a partir de su dirección sería:

  mi_variable = ^ dirección_de_mi_variable;

Para aclarar los conceptos de nombre de variable, dirección de la variable y valor de la variable se muestran a continuación una serie de expresiones y sus equivalentes numéricos.

  mi_variable = 3
  OFFSET mi_variable = 12345
  dirección_de_mi_variable = 12345
  ^ dirección_de_mi_variable = 3

La dirección de una variable puede variar según se vaya ampliando un programa (añadiendo nuevos datos y sentencias al mismo).

En resumen, el operador ^ accede al valor que está en la posición de la memoria del ordenador indicada tras él, es decir:

  ^ 12345 = 3

Lo que quiere decir que, en la dirección 12345 de la memoria del ordenador, está el valor 3, ya que en esta dirección es donde se almacena el valor de la variable mi_variable y ése es su valor.


El símbolo * puede utilizarse como sinónimo de ^ (en el ejemplo anterior *12345 = 3).

Los corchetes (símbolos [ ]) funcionan de forma similiar al operador ^, con la única diferencia que acceden al dato cuya dirección se indica entre ellos (en el ejemplo anterior [12345] = 3).

Los corchetes también se utilizan para especificar el índice en las tablas y estructuras.


Ver: Sintaxis - OFFSET