3

メモリについてもう少し理解したいのですが、Googleからメモリを見つけることができませんでした。これがばかげた質問である場合は、ご容赦ください。

次のコードで、C#のメモリアドレス0(および最大65535)にアクセスすると、NullReferenceExceptionがスローされるのはなぜですか。

バイト*ポインタ=(バイト*)0;

バイトテスト=*ポインタ;

よろしくお願いします!

4

1 に答える 1

3

これは、Windows 自体の設計機能です。開発サイクルの早い段階でプログラマーのミスをキャッチするために、0 から 64K (-1) までの仮想アドレスはすべてのプロセスで無効になります。

于 2010-05-18T14:00:46.797 に答える