Объем переменных в C

Узнайте, что такое область видимости и как она работает в C

Когда вы определяете переменную вCпрограмма, в зависимости от того, где вы ее объявляете, она будет иметь разныеобъем.

Это означает, что в одних местах он будет доступен, а в других - нет.

Позиция определяет 2 типа переменных:

  • глобальные переменные
  • локальные переменные

В этом разница: переменная, объявленная внутри функции, является локальной переменной, например:

int main(void) {
  int age = 37;
}

Локальные переменные доступны только изнутри функции, и когда функция завершается, они прекращают свое существование. Они очищаются из памяти (за некоторыми исключениями).

Переменная, определенная вне функции, является глобальной переменной, как в этом примере:

int age = 37;

int main(void) { /* … */ }

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

Я упоминал, что после завершения функции локальные переменные больше не доступны.

Причина в том, что локальные переменные объявлены вкучапо умолчанию, если вы явно не размещаете их в куче, используяуказатели, но тогда вам придется управлять памятью самостоятельно.

Скачать мою бесплатнуюСправочник C


Больше уроков по clang: