C Глобальные переменные

Введение в глобальные переменные C

вПеременные и типы Cpost Я рассказал, как работать с переменными.

В этом посте я хочу упомянуть разницу междуглобальные и локальные переменные.

Алокальная переменнаяопределяется внутри функции и доступен только внутри этой функции.

Так:

#include <stdio.h>

int main(void) {
  char j = 0;
  j += 10;
  printf("%u", j); //10
}

jнедоступен нигде за пределамиmainфункция.

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

#include <stdio.h>

char i = 0;

int main(void) { i += 10; printf("%u", i); //10 }

Доступ к глобальной переменной может получить любая функция в программе. Доступ не ограничивается чтением значения: переменная может быть обновлена любой функцией.

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

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

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

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


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