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#)

unsafe (odwołanie w C#)

fixed — Instrukcja (odwołanie w C#)

stackalloc (odwołanie w C#)

Koncepcje

Przewodnik programowania w języku C#

Inne zasoby

Types (odwołanie w C#)