В C, как я могу ограничить область действия глобальной переменной файлом, в котором она объявлена?
Я новичок в C. У меня передо мной книга, в которой объясняется "область действия файла" C, включая пример кода. Но код только объявляет и инициализирует переменную области файла - он не проверяет область действия переменной, скажем, пытаясь получить к ней доступ незаконным способом. Так! В духе науки я построил эксперимент.
файлbar.c
:
<code>static char fileScopedVariable[] = "asdf"; </code>
файлfoo.c
:
<code>#include <stdio.h> #include "bar.c" main() { printf("%s\n", fileScopedVariable); } </code>
Согласно моей книге и Google, звонокprintf()
должен потерпеть неудачу - но это не так.foo.exe
выводит строку "asdf" и заканчивается нормально. Я бы очень хотел использовать область видимости файлов. Что мне не хватает?