В 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" и заканчивается нормально. Я бы очень хотел использовать область видимости файлов. Что мне не хватает?

Ответы на вопрос(4)

Ваш ответ на вопрос