Вопрос по c – В C, как я могу ограничить область действия глобальной переменной файлом, в котором она объявлена?

7

Я новичок в C. У меня передо мной книга, в которой объясняется "область действия файла" C, включая пример кода. Но код только объявляет и инициализирует переменную области файла - он не проверяет область действия переменной, скажем, пытаясь получить к ней доступ незаконным способом. Так! В духе науки я построил эксперимент.

файлbar.c:

static char fileScopedVariable[] = "asdf";

файлfoo.c:

#include <stdio.h>
#include "bar.c"

main()
    {
    printf("%s\n", fileScopedVariable);
    }

Согласно моей книге и Google, звонокprintf() должен потерпеть неудачу - но это не так.foo.exe выводит строку "asdf" и заканчивается нормально. Я бы очень хотел использовать область видимости файлов. Что мне не хватает?

Error: User Rate Limit Exceeded Eric

Ваш Ответ

4   ответа
15

gcc foo.c bar.c

Error: User Rate Limit Exceeded Metaphile
2

ever

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Metaphile
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
6

file scopefile scopefile#include, #define

static

externlink

bar.cfoo.cfileScopeVariable

0

Похожие вопросы