Compartilhar via


Como: Obtenha o endereço de uma variável (guia de programação translation from VPE for Csharp)

Para obter o endereço de uma expressão unários, que é avaliada como uma variável fixa, use o operador adress-of:

int number;
int* p = &number; //address-of operator &

O operador adress-of só pode ser aplicado a uma variável.Se a variável for uma variável móvel, você pode usar o demonstrativo fixed corrigir temporariamente a variável antes de obter seu endereço.

É sua responsabilidade garantir que a variável foi inicializada.O compilador não emitirá uma mensagem de erro se a variável não for inicializada.

Você não pode obter o endereço de uma constante ou um valor.

Exemplo

Neste exemplo, um ponteiro para int, p, é declarado e atribuído o endereço de uma variável de inteiro number. A variável number é inicializado da atribuição para * p. Se você fizer esta demonstrativo de atribuição, um comentário, a inicialização da variável number será removido, mas nenhum erro de time de compilar será emitido. Observe o uso do Acesso de membro operador de -> Para obter e exibir o endereço armazenado no ponteiro.

// compile with: /unsafe
class AddressOfOperator
{
    static void Main()
    {
        int number;

        unsafe 
        {
            // Assign the address of number to a pointer:
            int* p = &number;

            // Commenting the following statement will remove the
            // initialization of number.
            *p = 0xffff;

            // Print the value of *p:
            System.Console.WriteLine("Value at the location pointed to by p: {0:X}", *p);

            // Print the address stored in p:
            System.Console.WriteLine("The address stored in p: {0}", (int)p);
        }

        // Print the value of the variable number:
        System.Console.WriteLine("Value of the variable number: {0:X}", number);

        System.Console.ReadKey();
    }
}
/* Output:
        Value at the location pointed to by p: FFFF
        The address stored in p: 2420904
        Value of the variable number: FFFF
*/

Consulte também

Conceitos

Guia de Programação C#

Referência

Ponteiro expressões (guia de programação translation from VPE for Csharp)

Tipos de ponteiro (translation from VPE for Csharp Programming guia)

(referência C#) não seguros

Instrução fixa (referência C#)

stackalloc (translation from VPE for Csharp Reference)

Outros recursos

Tipos (referência C#)