Этот вопрос также относится к вашему вопросу о локальной области действия или автоматической переменной.Область действия может быть определена как модуль, в котором определена эта переменная.
И модуль может быть функцией или файлом.
Таким образом, вы можете объявить автоматическую переменную в файле - это будет означать, что она может быть доступна для каждой функции в этом файле, или поместитьиначе - его область действия определяется как файл в этом случае.
Если вы объявите ту же переменную, что и auto, но внутри функции, это будет означать, что к ней можно получить доступ только внутри этой функции - или еев этом случае область видимости определяется как функция.
Думайте об auto как о «локальном» внутри модуля (где модуль может быть функцией или файлом).
В приведенном выше примеревы определили область видимости, добавив фигурные скобки, и, следовательно, область действия переменной i
локализуется внутри фигурных скобок, поэтому у вас ограниченный доступ за пределами фигурных скобок.