How to: Obtenha o endereço de uma variável (guia de programação de C#)
Para obter o endereço de uma expressão unários, que é avaliada como uma variável de fixa, use o operador de endereço:
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 moveable, você pode usar o fixo instrução para corrigir temporariamente a variável antes de obter seu endereço.
É sua responsabilidade assegurar que a variável é 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, é declarada e atribuída ao endereço de uma variável de inteiro, number. A variável number é inicializado como resultado de uma atribuição para * p. Se você tornar a instrução de atribuição um comentário, a inicialização da variável number será removido, mas nenhum erro de tempo de compilação é emitido. Observe o uso do O acesso de membro operador -> 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
Referência
Expressões de ponteiro (guia de programação de C#)
Tipos de ponteiro (guia de programação C#)
fixed Statement (C# Reference)