Заголовки, прототипи
Протягом цього курсу ми постійно використовували файл 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"
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
What does the function to calculate capacitor charge/discharge time look like?
Can you explain how to include and use custom header files in a C project?
Why is it important to separate code into multiple files in C projects?
Awesome!
Completion rate improved to 2.63
Заголовки, прототипи
Свайпніть щоб показати меню
Протягом цього курсу ми постійно використовували файл 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"
Дякуємо за ваш відгук!