Файлова система. Файли послідовного доступу
1. Модульне програмування. Багатофайлові проєкти
Звичайна С-програма складається із функції main, яка для виконання необхідних дій викликає інші функції. Зв'язок між функціями здійснюється за допомогою передачі параметрів і повернення значень функцій. Але компілятор мови С дозволяє також розбити програму на декілька окремих частин (чи навіть файлів).
При такій структурі функції, що знаходяться в різних файлах можуть використовувати глобальні зовнішні змінні. Всі функції в мові С, за замовчуванням, зовнішні і завжди доступні з будь-яких файлів. Наприклад, якщо програма (проєкт) складається із двох файлів, то функція main може викликати будь-яку з трьох функцій fun1, fun2, fun3, а кожна з цих функцій може викликати будь-яку іншу:

Для того, щоб функція могла виконувати певні дії, вона повинна використовувати змінні. У мові програмування С всі змінні мають бути оголошені до їхнього використання - оголошення встановлює відповідність між іменем змінної та її атрибутами. Визначення змінної призводить до виділення пам’яті для зберігання її значення.
Область видимості змінної визначається межами блоку, який у С обмежується фігурними дужками. Існують два основні типи блоків: складений оператор та визначення функції. Внутрішні блоки називають вкладеними, а зовнішні - осяжними.
Час життя змінної може бути локальним (діє тільки під час виконання блоку) або глобальним (існує протягом усього часу виконання програми). Усі функції в мові С мають глобальний час життя.
Область видимості об’єкта - це частина тексту програми, в межах якої цей об’єкт може використовуватися. Якщо змінна оголошена в середині блоку, вона доступна лише в цьому блоці та його вкладених блоках. Якщо ж змінна оголошена поза всіма блоками (на зовнішньому рівні), вона буде видимою у файлі починаючи з місця оголошення й до кінця. За допомогою спеціальних оголошень (наприклад, використання ключового слова extern) об'єкт може бути зроблений доступним в усіх вихідних файлах, що утворюють програму. Таким чином, у мові С видимість і час життя змінних визначаються місцем оголошення та структурою програми.
Приклад:
|
------------ file1.c ------------ fun1() { |
------------ file2.c ------------ fun3(){ |
Оголошення функції складається з типу значення, що повертається, імені та списку параметрів. Разом ці три елементи складають прототип. Оголошення може з'явитися у файлі декілька разів.
Оголошення функцій найкраще поміщати в файли із заголовками (хедер-файли, файли з розширенням «h»), які можуть включатися всюди, де необхідно викликати функцію. Таким чином, всі файли використовують одне спільне оголошення.
Включення хедер-файлів
Програма, яка обробляє ці директиви, називається препроцесором (в сучасних компіляторах препроцесор, зазвичай, є частиною самого компілятора).
Директива #include включає в програму вміст зазначеного файлу. Файл може бути зазначено двома способами:
Шрифти
Розмір шрифта
Колір тексту
Колір тла
Кернінг шрифтів
Видимість картинок
Інтервал між літерами
Висота рядка
Виділити посилання
Вирівнювання тексту
Ширина абзацу