Sdílet prostřednictvím


Postupy: Získávání adresy proměnné (Průvodce programováním v C#)

Získat adresu unární výraz, jehož výsledkem dlouhodobého proměnnou, použijte operátor z adresy:

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

Proměnné lze použít pouze operátor z adresy.Pokud je proměnná movitý proměnná, můžete dlouhodobého prohlášení proměnné dočasně vyřešit před získáním jeho adresu.

Je vaší odpovědností zajistit, že je inicializována proměnná.Pokud není inicializována proměnná není kompilátor vydávají chybová zpráva.

Nelze získat adresu konstanta nebo hodnotu.

Příklad

V tomto příkladu ukazatel na int, p, je deklarován a přiřazena adresa proměnná typu integer number.Proměnná number je inicializován v důsledku přiřazení * p.Pokud provedete tento příkaz přiřazení komentář inicializace proměnné number budou odebrány, ale žádná chyba kompilace je vydán.Všimněte si použití Přístup členských operátor -> získání a zobrazení adresy uložené v ukazatel.

// 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
*/

Viz také

Referenční dokumentace

Výrazy ukazatelů (Průvodce programováním v C#)

Typy ukazatelů (Průvodce programováním v C#)

unsafe (Referenční dokumentace jazyka C#)

fixed – příkaz (Referenční dokumentace jazyka C#)

stackalloc (Referenční dokumentace jazyka C#)

Koncepty

Průvodce programováním v C#

Další zdroje

Typy (Referenční dokumentace jazyka C#)