Главная Контакты


  На сайте

  Java, JavaScript
  Документация Perl
  Документация PHP
  Документация ASP
  Новости сайта
  Flash
  Интернет протоколы
  Apache
  Уроки программирования
  Язык программирования C
 


Функции и структура программ


Внешние переменные

Программа на C состоит также из набора внешних объектов - переменных или функций. Прилагательное "внешний" используется как противопоставление "внутреннем", который описывает аргументы и переменные, определенные внутри функций. Внешние переменные - обозначенные вне любой функции и, таким образом, потенциально доступны многим функциям. Сами функции всегда остаются внешними, так C не позволяет означать функции внутри других функций. Стандартно, внешние переменные и функции имеют одно свойство, которое заключается в том, что все обращения к ним за тем же именем - даже из функций, компилируемых отдельно - ссылаются на ту же вещь. (Стандарт называет это внешней совместимость) В этом смысле, внешние переменные похожи блоков COMMON языка Fortran или переменных из самого блока в Pascal. Мы узнаем позже, как означуваты внешние переменные и функции, видимые только с того же исходного файла.

Поскольку внешние переменные доступны глобально, они служат альтернативой аргументам функций, и могут быть использованы для обмена данными между функциями. Любая функция может обратиться к внешней переменной, ссылаясь на ее имя, если это имя каким образом объявлено.

Если функции вынуждены разделять большое число переменных между ними, внешние сменные удобнее и эффективнее, чем длинные списки аргументов. Но, как уже было указано в главе 1, эти соображения следует применять с осторожностью, поскольку они могут плохо сказаться на структуре программы, и привести к программам по великоватой количеством сочетаний данных между функциями.

Внешние переменные также полезные через большую область действия и продолжительность жизни. Автоматические переменные являются внутренними для функций, они появляются при входе в функцию и исчезают при выходе из нее. Противовес, внешние переменные - постоянные, а значит удерживают значение от одного вызова функции до другого. Таким образом, если две функции должны совместно использовать какие-то данные, но ни одна из них не вызывает другой, часто удобнее, чтобы общие данные хранились во внешних переменных, вместо передачи их туда-сюда в виде аргументов.

Исследуем этот вопрос глубже на большем примере. Задача будет состоять в написании программы-калькулятора, которая бы обеспечивала операторами +, -, * и /. Поскольку это легче воплотить - калькулятор использовать обратную польскую запись вместо инфиксного (обычного). (Обратная польская нотация используется в некоторых карманных калькуляторах а также в таких языках как Forth или Postscript.)

Другие статьи по теме:

- Символьные массивы
- Типы, операторы и выражения
- Функции и структура программ
- Внешние переменные и область действия
- Введение в c++


Голосование:
Чего Вы хотели бы видеть больше на сайте?

Статей, документации
Скриптов
Программ для вебмастера
Я не знаю



Другие голосования

Обмен кнопочками:



Приглашаем Вас обменяться кнопочками! Обращайтесь к администратору.


Новые статьи:


Наши партнеры:





2006-2024 © SMTI.RU
Главная страница | Связаться с нами