更新:2007 年 11 月

使用指针间接运算符可获取位于指针所指向的位置的变量。表达式采用下面的形式,其中, p 是指针类型:

 复制代码
*p;

不能对除指针类型以外的任何类型的表达式使用一元间接寻址运算符。此外,不能将它应用于 void 指针。

当向 null 指针应用间接寻址运算符时,结果将取决于具体的实现。

示例

下面的示例使用不同类型的指针访问 char 类型的变量。注意,theChar 的地址在不同的运行中是不同的,因为分配给变量的物理地址可能会更改。

C# 复制代码
// compile with: /unsafe

C# 复制代码
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);
    }
}

 复制代码
Value of theChar = Z 
Address of theChar = 12F718
Value of pChar = Z 
Value of pInt = 90 

请参见