Operador de desreferencia



En programación de computadoras, un operador de desreferencia , también conocido como operador de indirección , opera sobre una variable de puntero. Devuelve el valor de ubicación, o el valor l en memoria apuntado por el valor de la variable. En el Lenguaje de programación C , el operador de deferencia se denota con un asterisco ( * ).



Por ejemplo, en C, podemos declarar un variable x que contiene un valor entero y una variable pag que tiene un puntero a un valor entero en la memoria:

|_+_|

Aquí, el asterisco le dice al compilador , ' pag no es un número entero, sino más bien un puntero a una ubicación en la memoria que contiene un número entero. ' Aquí, no es una desreferencia, sino parte de un puntero. declaración .



Ahora podemos configurar pag a la ubicación asignada por el valor de x utilizando la & operador, que significa 'dirección de'.

|_+_|

Esta acción le dice al compilador, 'La dirección en la memoria que pag apunta a es la dirección que asignó para el entero x .'



Para ilustrar, si establecemos el valor de x a 1 utilizando el método convencional, e imprima el valor, la salida será 1 .

|_+_|

Sin embargo, también podemos cambiar el valor de x haciendo referencia pag . Hacemos esto con un asterisco:

|_+_|

Y la salida cambia a 2 .

En otras palabras, después pag se declara como un puntero del mismo tipo que x y luego establecer para apuntar al valor de x, podemos usar x y *pag indistintamente. Dado que ambos se refieren a lo mismo, cambiar el valor de uno cambia el valor del otro.