Gewusst wie: Abrufen des Werts einer Zeigervariablen (C#-Programmierhandbuch)How to: Obtain the Value of a Pointer Variable (C# Programming Guide)

Verwenden Sie den Zeigerdereferenzierungsoperator, um die Variable aus dem Speicherort abzurufen, auf den von einem Zeiger gezeigt wird.Use the pointer indirection operator to obtain the variable at the location pointed to by a pointer. Der Ausdruck hat das folgende Format, wobei p ein Zeigertyp ist:The expression takes the following form, where p is a pointer type:

*p;  

Sie können den unären Dereferenzierungsoperator nicht auf einen Ausdruck anwenden, der nicht dem Zeigertyp entspricht.You cannot use the unary indirection operator on an expression of any type other than the pointer type. Zudem können Sie ihn nicht auf einen leeren Zeiger anwenden.Also, you cannot apply it to a void pointer.

Wenn Sie den Dereferenzierungsoperator auf einen NULL-Zeiger anwenden, ist das Ergebnis von der Implementierung abhängig.When you apply the indirection operator to a null pointer, the result depends on the implementation.

BeispielExample

In folgendem Beispiel wird auf eine Variable des Typs char mithilfe eines Zeigers eines anderen Typs zugegriffen.In the following example, a variable of the type char is accessed by using pointers of different types. Beachten Sie, dass die Adresse von theChar je nach Ausführung variiert, da sich die physische Adresse ändern kann, die der Variable zugewiesen ist.Note that the address of theChar will vary from run to run, because the physical address allocated to a variable can change.

// compile with: /unsafe
unsafe class TestClass
{
    static void Main()
    {
        char theChar = 'Z';
        char* pChar = &theChar;
        void* pVoid = pChar;
        int* pInt = (int*)pVoid;

        System.Console.WriteLine("Value of theChar = {0}", theChar);
        System.Console.WriteLine("Address of theChar = {0:X2}",(int)pChar);
        System.Console.WriteLine("Value of pChar = {0}", *pChar);
        System.Console.WriteLine("Value of pInt = {0}", *pInt);
    }
}

Wert des TheChar = ZValue of theChar = Z
Adresse von theChar = 12F718Address of theChar = 12F718
Wert von pChar = Z Value of pChar = Z
Wert von pInt = 90Value of pInt = 90

Siehe auchSee Also

C#-ProgrammierhandbuchC# Programming Guide
ZeigerausdrückePointer Expressions
ZeigertypenPointer types
TypenTypes
unsafeunsafe
fixed-Anweisungfixed Statement
stackallocstackalloc