La palabra reservada OFFSET permite obtener la dirección de un dato dentro de la memoria del ordenador.
Todos los datos de un programa se corresponden con alguna posición concreta de la memoria en la que está almacenado su valor; el operador OFFSET permite obtener esta posición como un valor numérico.
Este operador se utiliza, principalmente, en los parámetros de algunas de las funciones del lenguaje; esto se hace para permitir a dichas funciones que puedan modificar estos parámetros.
Si se tiene una variable, por ejemplo denominada mi_variable, con el valor 321 y se pasa, como parámetro, dicha variable a una función parámetro, se le está pasando a la función el número 321; con esto, la función no podrá modificar la variable ya que conoce su valor pero no dónde está la variable (pues puede haber muchos valores 321 por toda la memoria del ordenador, y no sabrá cuál de ellos es la variable).
Si a esta función se le pasa como parámetro OFFSET mi_variable se le estará informando del lugar en el que está almacenado el valor de la variable, pudiendo, la función, acceder a dicho valor para consultarlo o modificarlo.
El símbolo & puede utilizarse como sinónimo de la palabra reservada OFFSET.
Ver: Sintaxis