Внешние описания переменных

На самом внешнем уровне (вне функций программы) переменная может быть описана в любом месте программы, но до первого обращения к ней. Область её действия распространяется от места определения до конца программы (модуля). Если определение переменной располагается перед всеми функциями программы, то она становится глобальной (общедоступной), то есть может использоваться любой функцией. Переменная на внешнем уровне может быть инициирована константным выражением.

Глобальные переменные могут использоваться для передачи данных между функциями наряду с передачей данных через список параметров функций.

Пример. Использование глобальных переменных.

Программа:

int i1, i2=5; /* глобальные переменные */

void fun() /* функция, изменяющая */

{ i1= i2 * i2; /* глобальные переменные */

i2 *= i1;

}

void main /* главная функция */

{ fun (); /* вызов функции */

printf (“ Значения: i1=%d, i2=%d”, i1, i2);

}

Результаты программы:

Значения: i1=25, i2=125

Многомодульные программы

Проект программы

Программа на Си оформляется как один модуль или совокупность модулей. Модулем является самостоятельно компилируемый исходный файл с расширением “.c”. Структура модуля соответствует структуре одномодульной программы, рассмотренной выше. Отличие модулей от одномодульной программы состоит в возможном классе памяти объектов внешнего уровня и функций модуля, чем определяется область действия и время жизни переменных и функций.

Создание многомодульной программы кроме разработки модулей требует еще создания специального текстового файла проект (project), из которого компилятор узнает, какие модули образуют проект программы, чтобы получить исполняемый файл (.exe). Порядок включения исходных файлов в проект не имеет значения. Файл проекта может иметь любое допустимое имя, в том числе совпадающее с именем главного файла (с функцией main), и имеет расширение “.prj”, например, myprog.prj.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: