|
Функции и структура программИнициализация внешней переменной происходит только при условии, что существует ее определение. Хотя это не характерно для такой программы, но функции 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, который будет включен в случае необходимости. Надо найти компромисс между желанием, чтобы каждый файл имел доступ только к информации, необходимой для осуществления своей задачи и практически действительностью того, что трудно поддерживать в рабочем состоянии много файлов заголовка. В случае программ умеренного размера, наверное, лучше иметь одих файл заголовка, содержащего общие данные для других частей программы; именно это решение мы продемонстрировали здесь. Для больших программ, может потребоваться больше увеличившейся организации и большему количеству файлов заголовка. Продолжение статьи: ч.1 Продолжение статьи: ч.2 Продолжение статьи: ч.3 Продолжение статьи: ч.4 Продолжение статьи: ч.5 Продолжение статьи: ч.6 Продолжение статьи: ч.7 Продолжение статьи: ч.8 Продолжение статьи: ч.9 Продолжение статьи: ч.10 Продолжение статьи: ч.11 Продолжение статьи: ч.12 Продолжение статьи: ч.13 Продолжение статьи: ч.14 Продолжение статьи: ч.15 Продолжение статьи: ч.16 Продолжение статьи: ч.17 Продолжение статьи: ч.18 Продолжение статьи: ч.19 Продолжение статьи: ч.20 Продолжение статьи: ч.21 Другие статьи по теме: - Введение в c++- Типы, операторы и выражения - Символьные массивы - Внешние переменные и область действия - Функции и структура программ |
|
2006-2024 © SMTI.RU Главная страница | Связаться с нами |