Каждая переменная и функция, описанная в программе на языке Си, принадлежит к какому-либо классу памяти.


Класс памяти переменной определяет для нее время существования (жизни) и область видимости. Он задается либо с учетом расположения ее объявления, либо при помощи специального спецификатора класса памяти, располагаемого перед обычным описанием переменной.


Для функций класс памяти всегда будет глобальным, если перед ее описанием не стоит спецификатор static.


В Си имеются следующие классы памяти:

  • auto – автоматический, локальный
  • register – регистровый
  • extern – глобальный, внешний
  • static – статический