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


  На сайте

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


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



Инициализация внешней переменной происходит только при условии, что существует ее определение.

Хотя это не характерно для такой программы, но функции push и pop могли бы быть визначинимы в одном файле, тогда как переменные val и sp определен и инициирован в другом. В таком случае, такие определения и объявления нужно бы было связать вместе:

в первом файле:
extern int sp;
extern double val [];

void push (double f) {... }

double pop (void) {... }

во втором файле:
int sp = 0;
double val [MAXVAL];


Поскольку объявление extern в первом файле находятся впереди и снаружи определений функций, они касаются всех функций. Одного объявления хватит для целого первой дорожке. Такая же организация была бы нужна, если бы sp и val следовали за своим использованием в том же файле.

Файлы заголовка

Давайте рассмотрим теперь разделение программы-калькулятора на несколько исходных файлов, будто каждая из ее составляющих была значительно больше. Функция main оказалась бы в одном файле, который мы назвали бы main.c; push, pop и их переменные размещены бы во втором, stack.c; getop в третьем - getop.c. Мы разделили их друг от друга, поскольку они составляли бы отдельно компилируемые библиотеку в настоящий программе.

Существует еще одна вещь, о которой стоит позаботиться - это определение и объявление, совместно используемые этими файлами. Насколько это возможно, мы бы хотели сосредоточить эти вещи в одном месте, поэтому существовать только одна копия, которую будет прочитано и которую следует поддерживать в рабочем состоянии при развитии программы. Соответственно, мы поместим этот общий материал в файле заголовка calc.h, который будет включен в случае необходимости.

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

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

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


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

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



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

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



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


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


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





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