C#中指针

来源:互联网 发布:外国数据录入外包公司 编辑:程序博客网 时间:2024/05/04 05:40

        指针是一个无符号整数,它是一个以当前系统寻址范围为取值范围的整数,CLR支持3种指针类型:受托管指针,非托管指针和非托管函数指针。受托管指针存储在堆上的托管快的引用,非托管指针也就是指传统意义上的指针,在C#中必须要放在unsafe代码块中使用指针。
      & 寻址运算符,它表示取地址,并把一个值数据类型转换为指针。
      *  间接寻址运算符 它表示获取地址的内容,把一个指针转换为值数据类型。
   
unsafe static void  Main( )
        {
            int *pi;  //初始化状态 *pi为0X00000000
            int x = 4; 
            pi = &x; 
            System.Console.WriteLine("x的值是:" + *pi); 
        }
  将项目属性页中生成下的“允许不安全代码”复选框打上对勾即可,方法如下:项目属性对话框->生成->允许不安全代码块 选中即可。
     C#中指针类型不继承object,并且指针类型与object之间不存在转换,此外装箱和取消装箱也不支持指针。但是,C#允许在不同指针类型之间以及指针类型与整型之间进行转换。

原创粉丝点击