zoukankan      html  css  js  c++  java
  • 指针转换(C# 编程指南)

    原文地址:https://msdn.microsoft.com/zh-cn/library/etb4xxec.aspx

    下表显示了预定义的隐式指针转换。隐式转换可能在多种情形下发生,包括调用方法时和在赋值语句中。

    发件人

    目标

    任何指针类型

    void*

    null

    任何指针类型

    显式指针转换用于在不存在隐式转换时通过使用强制转换表达式来执行转换。下表显示了这些转换。

    发件人

    目标

    任何指针类型

    所有其他指针类型

    sbyte、byte、short、ushort、int、uint、long 或 ulong

    任何指针类型

    任何指针类型

    sbyte、byte、short、ushort、int、uint、long 或 ulong

    在下面的示例中,一个指向 int 的指针被转换为指向 byte 的指针。注意,该指针指向变量的最低地址字节。连续递增该结果直到达到 int 的大小(4 字节),即可显示变量的剩余字节。

     
      // compile with: /unsafe
    
    
     
      class ClassConvert
    {
        static void Main() 
        {
            int number = 1024;
    
            unsafe 
            {
                // Convert to byte:
                byte* p = (byte*)&number;
    
                System.Console.Write("The 4 bytes of the integer:");
    
                // Display the 4 bytes of the int variable:
                for (int i = 0 ; i < sizeof(int) ; ++i)
                {
                    System.Console.Write(" {0:X2}", *p);
                    // Increment the pointer:
                    p++;
                }
                System.Console.WriteLine();
                System.Console.WriteLine("The value of the integer: {0}", number);
    
                // Keep the console window open in debug mode.
                System.Console.WriteLine("Press any key to exit.");
                System.Console.ReadKey();
            }
        }
    }
        /* Output:
            The 4 bytes of the integer: 00 04 00 00
            The value of the integer: 1024
        */
  • 相关阅读:
    作业
    作业4
    作业1
    作业
    补交课堂作业
    补交最后一题
    第三次作业
    作业
    C语言 homework(4)
    C语言 homework (3)
  • 原文地址:https://www.cnblogs.com/Arlar/p/6040468.html
Copyright © 2011-2022 走看看