Porady: uzyskiwanie adresu zmiennej (Przewodnik programowania w języku C#)
Aby uzyskać adres wyrażenie jednoargumentowe, której wynikiem może być stałe zmiennej, należy użyć operatora z adresu:
int number;
int* p = &number; //address-of operator &
Operator adres z dotyczą wyłącznie zmiennej.Jeśli zmienna jest zmienną ruchome, można użyć ustalone, instrukcję tymczasowe ustalenie zmiennej przed uzyskaniem jego adres.
Jest odpowiedzialny, aby zapewnić, że zmienna jest zainicjowana.Kompilator nie będzie wygeneruje komunikat o błędzie, jeśli zmienna nie jest zainicjowany.
Nie można uzyskać adres stałą lub wartość.
Przykład
W tym przykładzie, wskaźnik do int, p, zadeklarowaniu i przypisaniu adres zmiennej integer number.Zmienna number jest inicjowany z przypisania do * p.Jeśli możesz utworzyć tej instrukcji przypisania komentarz inicjalizacja zmiennej number zostaną usunięte, ale wydaje się żaden błąd kompilacji.O wykorzystaniu Członkowskich dostępu operator -> do wyświetlania adresu, przechowywane w wskaźnik.
// 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
*/
Zobacz też
Informacje
Wyrażenia wskaźników (Przewodnik programowania w języku C#)
Typy wskaźników (Przewodnik programowania w języku C#)
fixed — Instrukcja (odwołanie w C#)
Koncepcje
Przewodnik programowania w języku C#