第一个内存地址的空引用,介于0到65535之间

时间:2010-05-18 13:55:23

标签: c# memory nullreferenceexception unsafe

我想更多地了解一下内存,我无法从谷歌那里找到它,如果这是一个愚蠢的问题,请原谅我。

以下代码如何在C#中访问内存地址0(以及最多65535)会抛出NullReferenceException

  

byte * pointer =(byte *)0;

     

byte test = * pointer;

提前多多感谢!

1 个答案:

答案 0 :(得分:3)

这是Windows本身的设计功能。为了在开发周期的早期捕获程序员错误,0到64K( - 1)的虚拟地址在所有进程中都是无效的。