如何:获取指针变量的值(C# 编程指南)

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

*p;

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

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

示例

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

// 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);
    }
}
  

请参见

参考

指针表达式(C# 编程指南)

指针类型(C# 编程指南)

unsafe(C# 参考)

fixed 语句(C# 参考)

stackalloc(C# 参考)

概念

C# 编程指南

其他资源

类型(C# 参考)