Pliki nagłówkowe
Część sekcji Programowanie obiektowe ścieżki C w Coddy. Lekcja 1 z 61.
W miarę jak programy w C stają się większe, utrzymywanie całego kodu w jednym pliku staje się nie do opanowania. Pliki nagłówkowe pozwalają uporządkować kod, oddzielając to, co robi funkcja, od tego, jak to robi.
Plik nagłówkowy (z rozszerzeniem .h) zawiera deklaracje funkcji (zwane również prototypami). Te deklaracje informują kompilator, że funkcja istnieje i jakie parametry przyjmuje, nie podając jej właściwej implementacji.
// math_utils.h
int add(int a, int b);
Aby używać deklaracji z pliku nagłówkowego, dołączasz go za pomocą dyrektywy #include. W przypadku własnych plików nagłówkowych używaj cudzysłowów zamiast nawiasów ostrych:
// main.c
#include "math_utils.h"
int add(int a, int b) {
return a + b;
}
int main() {
int result = add(5, 3);
return 0;
}
Kluczowa różnica: #include <stdio.h> przeszukuje katalogi systemowe, podczas gdy #include "math_utils.h" najpierw przeszukuje folder projektu. Taki podział pozwala wielu plikom współdzielić te same deklaracje funkcji, dzięki czemu łatwiej poruszać się po bazie kodu i ją utrzymywać.
Spróbuj swoich sił
Ta lekcja nie zawiera wyzwania z kodem.
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Programowanie obiektowe
1Podstawy programowania modularnego
Pliki nagłówkoweZabezpieczenia przed wielokrotnym dołączeniemPliki źródłoweFunkcje statycznePodsumowanie: kalkulator modularny4Enkapsulacja
Koncepcja niejawnych wskaźnikówDefiniowanie niejawnych strukturGettery i setteryWalidacja w setterachPowtórka: tajemnicze pudełko2Obiekty i metody
Struktury jako obiektyWskaźnik „self”Poprawność constWskaźnik czy wartośćMetody pomocniczePodsumowanie: menedżer punktów5Projekt: Proste konto bankowe
Konfiguracja projektuImplementacja konta8Polimorfizm
Wskaźniki do funkcji w strukturachSymulowanie metodKoncepcja interfejsuImplementowanie interfejsówIteracja polimorficznaPodsumowanie: Greeter11Wzorce projektowe w C
Wzorzec SingletonWzorzec fabrykiWzorzec iteratoraPodsumowanie: fabryka loggera3Cykl życia obiektu
Wzorzec konstruktoraWzorzec destruktoraInicjalizacja na stosieKopia głębokaPodsumowanie: klasa opakowująca ciąg znaków6Dziedziczenie przez kompozycję
Osadzanie strukturZasada pierwszego elementuDostęp do elementów klasy nadrzędnejKonwersja w górę hierarchiiPodsumowanie: hierarchia kształtów9Projekt: Rysownik kształtów
Przegląd projektuImplementacja kołaImplementacja prostokątaZastosowanie polimorfizmuKontener kształtówPoćwicz samodzielnie: Kompilator C online