В C, переменные являются локальными для объема упаковки {} скобки они заключены в это же самое в. C++ и Java.
Если переменная определена вне функции, она является глобальной для этого модуля и может быть указана в других модулях, добавив префикс «extern» перед ссылкой на переменную из другого модуля модуля, который хочет его использовать ,
Если varaible определен вне функции и имеет префикс «статический», то он является глобальным только для этого модуля.
Когда я говорю, модуль означает все, что содержится в том же исходном файле. Java не поддерживает глобальные переменные, но поддерживает переменные статического класса, которые почти совпадают с глобальными.
C использует '{..}' для именования областей. Любая переменная, объявленная в часах, является локальной для этого блока. – CinCout
Если вы используете static вне любых подпрограмм, область действия находится только внутри этого файла. Если статическое объявление находится внутри функции, значение * запоминается * при повторном входе. Это то, что вы ищете? – cup
Переменные C являются ['auto'] (http://stackoverflow.com/q/13415321/995714) по умолчанию и не будут расти за пределами их объема. –