Makra i funkcje inline
Proszę poznać definicje makr i ich zalety w porównaniu z funkcjami.
Makra i funkcje inline to bezpłatna lekcja C Academy na CoddyKit. To lekcja 2 z 3. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej C Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs C Academy zawiera 3 lekcji w sumie.
Wprowadzenie do makr
Makra i funkcje inline
Makra i funkcje inline pomagają optymalizować kod, zmniejszając narzut związany z wywoływaniem funkcji.
W tej lekcji nauczą się Państwo:
- Jak definiować i używać makr.
- Jakie korzyści funkcje inline oferują w porównaniu z makrami.
- Jak makra i funkcje inline poprawiają wydajność.

Czym jest makro?
Czym jest makro?
Makro to dyrektywa preprocesora, która zastępuje kod przed kompilacją.
Przykład:
#define SQUARE(x) (x * x)
Wówczas podczas kompilacji SQUARE(5) zostaje zastąpione przez (5 * 5).
Przykład: używanie makr
Przykład: używanie makr
Ten program demonstruje, jak używać makra do wykonywania obliczeń.
#include <stdio.h>
#define SQUARE(x) (x * x)
int main() {
int num = 4;
printf("Square of %d is %d\n", num, SQUARE(num));
return 0;
}Ograniczenia makr
Ograniczenia makr
Makra nie sprawdzają typów i mogą prowadzić do nieoczekiwanych wyników.
Przykład problemu:
#define MULTIPLY(x, y) x * y
Wywołanie MULTIPLY(2 + 3, 4) zostaje rozwinięte do 2 + 3 * 4, co prowadzi do nieprawidłowych wyników.
Wprowadzenie do funkcji inline
Wprowadzenie do funkcji inline
Funkcje inline stanowią alternatywę dla makr, zapewniając jednocześnie bezpieczeństwo typów.
Składnia:
inline int square(int x) { return x * x; }
Zmniejszają narzut związany z wywołaniem funkcji, a jednocześnie zapewniają prawidłowe sprawdzanie typów.
Przykład: używanie funkcji inline
Przykład: używanie funkcji inline
Ten program demonstruje funkcję inline zastępującą makro.
#include <stdio.h>
inline int square(int x) { return x * x; }
int main() {
int num = 4;
printf("Square of %d is %d\n", num, square(num));
return 0;
}Zalety funkcji inline
Zalety funkcji inline
Funkcje inline oferują kilka korzyści w porównaniu z makrami:
- Bezpieczeństwo typów.
- Łatwiejsze debugowanie (są widoczne w śladach stosu).
- Brak nieoczekiwanych błędów rozwijania.
Kiedy używać makr, a kiedy funkcji inline
Kiedy używać makr, a kiedy funkcji inline
Makr należy używać, gdy:
- Definiują Państwo proste stałe.
- Wykonują Państwo niewielkie zamiany tekstu.
Funkcji inline należy używać, gdy:
- Wykonują Państwo złożone operacje.
- Chcą Państwo zapewnić bezpieczeństwo typów.
Podsumowanie
Podsumowanie
W tej lekcji nauczą się Państwo:
- Jak definiować i używać makr.
- Jakie są ograniczenia makr.
- Jak funkcje inline zapewniają bezpieczniejszą alternatywę.
Następnie omówimy kompilację warunkową!

Często zadawane pytania
Czy lekcja „Makra i funkcje inline” jest bezpłatna?
Tak — pełny tekst „Makra i funkcje inline” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu C Academy, przejdź na CoddyKit PRO. Kurs C Academy zawiera 3 lekcji w sumie.
Co nauczysz się w „Makra i funkcje inline”?
Proszę poznać definicje makr i ich zalety w porównaniu z funkcjami. Ćwiczysz C Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć C Academy?
Nie wymagamy żadnego doświadczenia. C Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 3.
Ile czasu zajmuje lekcja „Makra i funkcje inline”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji C Academy?
Tak. Każda lekcja C Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Zrozumienie preprocesora C
- Makra i funkcje inline
- Kompilacja warunkowa