Заголовки, прототипи
Свайпніть щоб показати меню
Протягом цього курсу ми постійно використовували файл stdio.h. Цей файл є стандартним заголовком для введення/виведення. У ньому міститься прототип функції printf(), яку ми застосовували в кожному уроці.
Main.c
12345678//#include <stdio.h> int main() { printf("Using `printf()` without `stdio.h`"); return 0; }
Якщо виключити файл stdio.h, функція printf() перестане працювати. Виклик цієї функції без заголовка призведе до помилки.
Розуміння заголовочних файлів
Заголовочні файли, такі як stdio.h, містять оголошення змінних, масивів і прототипів функцій. Вони модульно організовують код вашого проєкту, дозволяючи підключати необхідні компоненти. Такий підхід спрощує структуру проєктів.
Прототипи функцій
Прототип функції — це, по суті, оголошення функції без її реалізації. Прототип слугує "попередженням" для компілятора, що така функція існує.
function_type function_name(arguments);
Він схожий на стандартну функцію, але без деталей реалізації. Зверніть увагу на крапку з комою (;) наприкінці. Тепер розглянемо, як розмістити прототип функції у відповідному заголовочному файлі.
Проєкти з декількох файлів
До цього моменту всі змінні та функції ми розміщували в одному файлі разом із функцією main. Однак у професійній розробці це не є типовою практикою. Розглянемо створення функції для оцінки часу заряду/розряду конденсатора на основі його ємності та опору.
Проєкт буде розділено на три файли:
main.c— цей основний файл буде місцем виклику всіх функцій;func.h— тут зберігатиметься прототип функції;func.c— тут буде реалізація нашої функції обчислення часу заряджання/розряджання конденсатора.
main.c
function.h
function.c
12345678910#include "func.h" int main() { R = 10; C = 150; printf("Charge/discharge will be %.2f ms\n", chrg_dchrg(R,C)); return 0; }
%.2f вказує, що результат має відображатися з двома знаками після коми.
Виконання цієї програми призведе до:
"Charge/discharge will be 7.50 ms"
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат