Слово static в глобальной переменной не работает
Вот что написано:
Последнее использование static — глобальная переменная в файле кода. В этом случае использование static указывает, что исходный код в других файлах, которые являются частью проекта, не может получить доступ к переменной. Только код внутри того же файла может увидеть переменную (её область видимости ограничена файлом). Эта техника может быть использована для моделирования объектно-ориентированного кода, потому что она ограничивает видимость переменных и таким образом помогает избежать конфликта имен.
Но это не работает. Завожу статическую переменную в отдельном заголовке (например, static int i = 0;
) и свободно получаю к ней доступ из main-функции, хотя эти коды в разных файлах. В чем подвох?