INF.04 · pytanie 4
Jakie są kluczowe różnice pomiędzy strukturą (struct) a unią (union) w języku C?
- AUnia nie jest obsługiwana przez kompilatory współczesnych języków
- BStruktura przechowuje wiele wartości równocześnie, unia tylko jednąPoprawna
- CStruktura wymaga więcej miejsca w pamięci niż unia
- DUnia umożliwia dynamiczne przypisywanie typów danych, struktura natomiast nie
Wyjaśnienie
Główna różnica między strukturą ('struct') a unią ('union') w języku C polega na sposobie przechowywania danych. Struktura przechowuje wszystkie pola jednocześnie, przydzielając każdemu z nich osobne miejsce w pamięci, natomiast unia używa wspólnej przestrzeni pamięci dla wszystkich swoich pól – w danym momencie można przechowywać tylko jedną wartość. Unia jest bardziej efektywna pod względem pamięci, ale mniej wszechstronna, ponieważ zmiana wartości jednego pola nadpisuje pozostałe. Struktury są powszechnie wykorzystywane w aplikacjach, gdzie konieczne jest przechowywanie wielu niezależnych danych, podczas gdy unie są używane do oszczędzania pamięci.