Operador indireto

Autor: Lewis Jackson
Data De Criação: 8 Poderia 2021
Data De Atualização: 25 Junho 2024
Anonim
Você sabe usar a Função Indireto no Excel | Exemplos Práticos do Indireto
Vídeo: Você sabe usar a Função Indireto no Excel | Exemplos Práticos do Indireto

Contente

Definição - O que significa operador Indirection?

Um operador indireto, no sentido de C #, é um operador usado para obter o valor de uma variável para a qual um ponteiro aponta. Enquanto um ponteiro apontando para uma variável fornece um acesso indireto ao valor da variável armazenada em seu endereço de memória, o operador indireto desreferencia o ponteiro e retorna o valor da variável nesse local de memória. O operador indireto é um operador unário representado pelo símbolo (*).

O operador indireto pode ser usado em um ponteiro para um ponteiro para um número inteiro, uma matriz unidimensional de ponteiros para números inteiros, um ponteiro para um caractere e um ponteiro para um tipo desconhecido.

O operador de indireção também é conhecido como operador de desreferência.

Uma introdução ao Microsoft Azure e Microsoft Cloud | Neste guia, você aprenderá sobre o que é a computação em nuvem e como o Microsoft Azure pode ajudá-lo a migrar e administrar seus negócios a partir da nuvem.

Techopedia explica operador de Indirection

O símbolo (*) é usado na declaração de tipos de ponteiros e na execução de indiretas, enquanto o operador "endereço de" () retorna o endereço de uma variável. Portanto, o operador indireto e o endereço do operador são inversos um do outro.

O C # permite o uso de ponteiros apenas em uma região insegura, o que implica que a segurança do código nessa região não é verificada pelo Common Language Runtime (CLR). Na região insegura, o operador indireto pode ler e gravar em um ponteiro. As seguintes instruções C # ilustram o uso do operador indireto:
  • int a = 1, b; // linha 1
  • int * pInt = & a; // linha 2
  • b = * pInt; // linha 3
Na primeira linha acima, a e b são variáveis ​​inteiras e a é atribuído um valor de 1. Na linha 2, o endereço de a é armazenado no ponteiro inteiro pInt (linha 2). O operador de desreferência é usado na linha 3 para atribuir o valor no endereço apontado por pInt para a variável inteira b.

O operador indireto deve ser usado para desreferenciar um ponteiro válido com um endereço alinhado ao tipo para o qual ele aponta, para evitar comportamentos indefinidos no tempo de execução. Não deve ser aplicado a um ponteiro nulo ou a uma expressão que não seja do tipo ponteiro, para evitar erros do compilador. No entanto, depois de converter um ponteiro nulo no tipo de ponteiro direito, o operador indireto pode ser usado.

Ao declarar vários ponteiros em uma única instrução, o operador indireto deve ser gravado apenas uma vez com o tipo subjacente e não repetido para cada nome de ponteiro. O operador de indireção é distributivo em C #, diferente de C e C ++. Quando o operador indireto é aplicado a um ponteiro nulo, ele resulta em um comportamento definido pela implementação. Como esse operador é usado em um engodo não seguro, a palavra-chave insegura deve ser usada antes dele, juntamente com a opção / insegura durante a compilação. Essa definição foi escrita no con do C #