Да, у компьютеров может быть физический адрес 0. Например, в старые времена DOS вы регулярно туда ходили - вот где начиналась таблица прерываний - поэтому, если вы хотите знать, что будет работать при нажатии клавиши илитаймер прерывания, тогда вы можете создать указатель на массив указателей и указать , что на 0. Я пересмотрел формулировку в Стандарте C ++ пару лет назад, чтобы убедиться, что это обязательно неопределенное поведение в системе, гдеадрес 0 должен быть доступен (на уровне ЦП / архитектуры), и я помню, что он не был явным, говоря, что это может привести к неопределенному поведению.Тем не менее, он в основном оставляет за собой право загружать значение, отличное от 0, когда вы помещаете 0 в указатель, сравниваете указатель с 0 и т. Д.: 0 - это специальное значение часового, с которым он может делать все, что ему нравится, поэтому, если вы хотите идти«По книге», тогда вам придется ходить вокруг.