Ваша книга просто упрощалась.Даже до оптимизации нет гарантии, что переменные будут реализованы в памяти.Разница между auto
и register
заключается только в том, что вам не разрешено брать адрес переменной register
.Компилятор C может делать все, что ведет себя так же, как абстрактная машина.
То, что ваш компилятор воспринимает эти переменные как непосредственные значения, указывает на то, что значения, которые у вас есть, малы и являются константами времени компиляции.Таким образом, вы, вероятно, могли бы объявить их const
или даже как enum
константы.