Operador indirecto

Autor: Lewis Jackson
Fecha De Creación: 8 Mayo 2021
Fecha De Actualización: 1 Mes De Julio 2024
Anonim
operador indirecto
Video: operador indirecto

Contenido

Definición - ¿Qué significa operador de Indirección?

Un operador de indirección, en la estafa de C #, es un operador utilizado para obtener el valor de una variable a la que apunta un puntero. Mientras que un puntero que apunta a una variable proporciona un acceso indirecto al valor de la variable almacenada en su dirección de memoria, el operador de indirección desreferencia el puntero y devuelve el valor de la variable en esa ubicación de memoria. El operador de indirección es un operador unario representado por el símbolo (*).

El operador de indirección se puede utilizar en un puntero a un puntero a un entero, una matriz unidimensional de punteros a enteros, un puntero a un carácter y un puntero a un tipo desconocido.

El operador de indirección también se conoce como operador de desreferencia.

Una introducción a Microsoft Azure y la nube de Microsoft | A lo largo de esta guía, aprenderá de qué se trata la computación en la nube y cómo Microsoft Azure puede ayudarlo a migrar y administrar su negocio desde la nube.

Techopedia explica operador de Indirección

El símbolo (*) se utiliza para declarar los tipos de puntero y para realizar la indirección del puntero, mientras que el operador "address-of" () devuelve la dirección de una variable. Por lo tanto, el operador de indirección y el operador de dirección de son inversos entre sí.

C # permite usar punteros solo en una región insegura, lo que implica que la seguridad del código dentro de esa región no está verificada por Common Language Runtime (CLR). En la región insegura, el operador de indirección puede leer y escribir en un puntero. Las siguientes declaraciones de C # ilustran el uso del operador de indirección:
  • int a = 1, b; // línea 1
  • int * pInt = & a; // línea 2
  • b = * pInt; // línea 3
En la primera línea de arriba, ayb son variables enteras y se le asigna a a un valor de 1. En la línea 2, la dirección de a se almacena en el puntero entero pInt (línea 2). El operador de referencia se usa en la línea 3 para asignar el valor en la dirección apuntada por pInt a la variable entera b.

El operador de indirección debe usarse para desreferenciar un puntero válido con una dirección alineada al tipo al que apunta, para evitar un comportamiento indefinido en tiempo de ejecución. No debe aplicarse a un puntero nulo ni a una expresión que no sea de tipo puntero, para evitar errores de compilación. Sin embargo, después de lanzar un puntero vacío al tipo de puntero correcto, se puede usar el operador de indirección.

Al declarar múltiples punteros en una sola declaración, el operador de indirección debe escribirse solo una vez con el tipo subyacente y no repetirse para cada nombre de puntero. El operador de indirección es distributivo en C #, a diferencia de C y C ++. Cuando el operador de indirección se aplica a un puntero nulo, da como resultado un comportamiento definido por la implementación. Dado que este operador se usa en una estafa insegura, la palabra clave insegura se debe usar antes junto con la opción / insegura durante la compilación. Esta definición fue escrita en la estafa de C #