Источник: Nuances of Programming Предыдущая статья: “Язык C: константы и литералы” Классы памяти определяют область видимости и время жизни переменных и/или функций в программе, написанной на языке С. Они предшествуют типу, который модифицируют. В языке С различают четыре класса памяти: Класс памяти auto Все локальные переменные по умолчанию принадлежат классу памяти auto, то есть являются автоматическими. {
int mount;
auto int month;
} В приведенном примере две переменные определены в одном классе памяти...
Статическая (не путать со статистической) память выделяется еще до начала работы программы, на стадии компиляции и сборки. У статических переменных фиксированный адрес, выделенный до запуска программы и не меняющийся в процессе ее работы. Естественно, статические переменные создаются и инициализируются до входа в функцию main, с которой начинается выполнение программы. Существует два типа статических переменных: · глобальные переменные - это переменные, определенные вне функций, в описании которых отсутствует слово static. Обычно описания глобальных переменных, включающие слово extern, выносятся в заголовочные файлы (h-файлы)...