Статическая (не путать со статистической) память выделяется еще до начала работы программы, на стадии компиляции и сборки. У статических переменных фиксированный адрес, выделенный до запуска программы и не меняющийся в процессе ее работы. Естественно, статические переменные создаются и инициализируются до входа в функцию main, с которой начинается выполнение программы. Существует два типа статических переменных: · глобальные переменные - это переменные, определенные вне функций, в описании которых отсутствует слово static. Обычно описания глобальных переменных, включающие слово extern, выносятся в заголовочные файлы (h-файлы). Слово extern означает, что переменная описывается, но не создается в данной точке программы. Определения глобальных переменных, т.е. описания без слова extern, помещаются в файлы реализации (c-файлы или cpp-файлы). Пример: глобальная переменная max описывается дважды: в h-файле с помощью строки: extern int max; это описание сообщает о наличии такой переменной,