Так работают операционные системы. Когда вы объявляете переменную, вы просите базовые системы выделить блок памяти (адрес) для хранения этих данных (или указатель на другой блок, если вы имеете дело с указателями, но здесь у вас есть примитив, поэтому это просто данные, которые хранятся). Программа не заботится о том, где находится память, просто о том, что она существует, потому что она знает, как отслеживать все, что ей дают.
Как программист, это действительно не так уж важно, если вы не выполняете невероятно низкоуровневую работу. Для большинства людей труднее всего понять, что когда вы работаете с указателями, вы не можете приравнивать вещи так же, как примитивы, потому что указатели считают, что их значения (при использовании == в качестве экватора) их адреса памяти.