Заголовок, Прототипи
Протягом цього курсу ми постійно використовували файл 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
. Однак у професійній розробці це не є нормою. Давайте розробимо функцію для оцінки часу зарядки/розрядки конденсатора на основі його ємності та опору.
Наш проект буде розділений на три файли:
func.h
- тут буде зберігатися прототип функції;func.c
- реалізація нашої функції розрахунку часу зарядки/розрядки конденсатора буде тут;main.c
- цей основний файл буде місцем, де викликаються всі функції.
// it's func.h file
#include <stdio.h>
double R, C;
double chrg_dchrg(double R, double C);
// it's func.c file
#include "func.h"
double chrg_dchrg(double R, double C)
{
double theta = 5 *((R * C) / 1000);
return theta;
}
// it's main.c file
#include "func.h"
int main()
{
R = 10;
C = 150;
printf("Charge/discharge will be %.2f ms\n", chrg_dchrg(R,C));
return 0;
}
Виконання цієї програми дає:
"Charge/discharge will be 7.50 ms"
Примітка
%.2f
вказує, що результат має бути відображений з двома знаками після коми.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
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
. Однак у професійній розробці це не є нормою. Давайте розробимо функцію для оцінки часу зарядки/розрядки конденсатора на основі його ємності та опору.
Наш проект буде розділений на три файли:
func.h
- тут буде зберігатися прототип функції;func.c
- реалізація нашої функції розрахунку часу зарядки/розрядки конденсатора буде тут;main.c
- цей основний файл буде місцем, де викликаються всі функції.
// it's func.h file
#include <stdio.h>
double R, C;
double chrg_dchrg(double R, double C);
// it's func.c file
#include "func.h"
double chrg_dchrg(double R, double C)
{
double theta = 5 *((R * C) / 1000);
return theta;
}
// it's main.c file
#include "func.h"
int main()
{
R = 10;
C = 150;
printf("Charge/discharge will be %.2f ms\n", chrg_dchrg(R,C));
return 0;
}
Виконання цієї програми дає:
"Charge/discharge will be 7.50 ms"
Примітка
%.2f
вказує, що результат має бути відображений з двома знаками після коми.
Дякуємо за ваш відгук!