Unie i efektywne wykorzystanie pamięci
Proszę zrozumieć różnice między struct i union oraz dowiedzieć się, jak unie optymalizują wykorzystanie pamięci.
Unie i efektywne wykorzystanie pamięci 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.
Unie i efektywne wykorzystanie pamięci
Unie i efektywne wykorzystanie pamięci
Unia to specjalny typ danych, który umożliwia przechowywanie różnych typów danych w tym samym obszarze pamięci.
W tej lekcji nauczy się Pan/Pani:
- Jak definiować i używać unii.
- Czym różnią się struktury od unii.
- Jak unie optymalizują wykorzystanie pamięci.

Czym jest unia?
Czym jest unia?
Unia przypomina strukturę, ale wszystkie jej składowe współdzielą ten sam obszar pamięci.
Przykład:
union Data {
int i;
float f;
char str[20];
};
Składowe i, f i str współdzielą tutaj ten sam obszar pamięci.
Deklarowanie i używanie unii
Deklarowanie i używanie unii
Unie deklaruje się i używa podobnie jak struktury:
union Data d1;
Przypisywanie wartości:
d1.i = 10;
W danym momencie wartość może przechowywać tylko jedna składowa.
Przykład: używanie unii
Przykład: używanie unii
Ten program demonstruje przechowywanie wartości przez unię we współdzielonym obszarze pamięci.
#include <stdio.h>
union Data {
int i;
float f;
char str[20];
};
int main() {
union Data d1;
d1.i = 10;
printf("Integer: %d\n", d1.i);
d1.f = 20.5;
printf("Float: %f\n", d1.f);
return 0;
}Przydzielanie pamięci dla unii
Przydzielanie pamięci dla unii
W przeciwieństwie do struktur rozmiar unii jest określany przez jej największą składową.
Przykład:
union Data {
int i; // 4 bytes
float f; // 4 bytes
char str[20]; // 20 bytes
};
Rozmiar tej unii wynosi 20 bajtów, a nie 28.
Różnica między strukturą a unią
Różnica między strukturą a unią
Struktura:
- Każda składowa ma osobny obszar pamięci.
- Rozmiar jest sumą rozmiarów wszystkich składowych.
Unia:
- Wszystkie składowe współdzielą ten sam obszar pamięci.
- Rozmiar jest określany przez największą składową.
Przykład: porównanie struktury i unii
Przykład: porównanie struktury i unii
Ten program pokazuje rozmiar pamięci struktury i unii.
#include <stdio.h>
struct StructExample {
int i;
float f;
char str[20];
};
union UnionExample {
int i;
float f;
char str[20];
};
int main() {
printf("Size of struct: %lu bytes\n", sizeof(struct StructExample));
printf("Size of union: %lu bytes\n", sizeof(union UnionExample));
return 0;
}Kiedy używać unii?
Kiedy używać unii?
Unie są przydatne, gdy:
- Efektywne wykorzystanie pamięci jest priorytetem.
- Zmienna musi przechowywać różne typy danych w różnych momentach.
- Pracuje się z rejestrami sprzętowymi.
Podsumowanie
Podsumowanie
W tej lekcji nauczył się Pan/nauczyła się Pani:
- Jak działają unie i jak oszczędzają pamięć.
- Czym różnią się struktury od unii.
- Jak używać unii w praktycznych zastosowaniach.
Następnie pozna Pan/Pani wyliczenia w języku C!

Często zadawane pytania
Czy lekcja „Unie i efektywne wykorzystanie pamięci” jest bezpłatna?
Tak — pełny tekst „Unie i efektywne wykorzystanie pamięci” 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 „Unie i efektywne wykorzystanie pamięci”?
Proszę zrozumieć różnice między struct i union oraz dowiedzieć się, jak unie optymalizują wykorzystanie pamięci. Ć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 „Unie i efektywne wykorzystanie pamięci”?
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
- Definiowanie i używanie struktur
- Unie i efektywne wykorzystanie pamięci
- Wyliczenia (enum)