Нулевая ссылка для первого адреса памяти между 0-65535


Я хотел бы понять немного больше о памяти, и я не смог найти его в Google, пожалуйста, простите меня, если это глупый вопрос.

Почему следующий код, обращающийся к адресу памяти 0 (и до 65535) в C#, вызовет исключение NullReferenceException

Байт* указатель = (байт*) 0;

Байтовый тест = * указатель;

Заранее большое спасибо!

1 3

1 ответ:

Это особенность дизайна самой Windows. Для того, чтобы поймать программиста на ошибках в начале цикла разработки, виртуальные адреса от 0 до 64K (- 1) недопустимы во всех процессах.