A.1 Имена и область видимости |
Предыдущая Содержание Следующая |
ANSI-C определяет, что у имён может быть почти произвольная длина. Имена, начинающиеся с подчёркивания, зарезервированы для библиотек, то есть они не должны использоваться в прикладных программах. Глобально определяемые имена могут быть скрыты в единице трансляции, то есть в исходном файле, при помощи static:
static int f (int x) { ... } видима только в исходном файле int g; видима всей программе
Имена массивов представляют собой постоянные адреса, которые могут использоваться для инициализации указателей даже если массив ссылается сам на себя:
struct table { struct table * tp; } v[] = { v, v+1, v+2 };
Не совсем ясно, как можно было бы закодировать опережающую ссылку на объект, который должен всё же быть скрыт в исходном файле. Следующие операции выглядят корректно:
extern struct x object; опережающая ссылка f() { object = value; } использование такой ссылки static struct x object; скрытое определение
|
Предыдущая Содержание Следующая |