3

我想了解更多关于内存的信息,但我无法从谷歌中找到它,如果这是一个愚蠢的问题,请原谅我。

为什么下面的代码,在 C# 中访问内存地址 0(最多 65535)会抛出 NullReferenceException

字节*指针=(字节*)0;

字节测试 = *指针;

提前非常感谢!

4

1 回答 1

3

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

于 2010-05-18T14:00:46.797 回答