ID: 2870 OOP - Podstawy Średnie

Źródło: Arkusze CKE

Jakie są kluczowe różnice pomiędzy strukturą (struct) a unią (union) w języku C?

Warianty odpowiedzi

  1. A

    Unia nie jest obsługiwana przez kompilatory współczesnych języków

  2. B

    Struktura wymaga więcej miejsca w pamięci niż unia

  3. C

    Unia umożliwia dynamiczne przypisywanie typów danych, struktura natomiast nie

  4. D

    Struktura przechowuje wiele wartości równocześnie, unia tylko jedną

Wyjaśnienie

Zarówno struktura (struct), jak i unia (union) pozwalają grupować różne zmienne, ale różnią się fundamentalnie sposobem zarządzania pamięcią RAM.

W strukturze każde pole dostaje swój własny, osobny fragment pamięci. Dzięki temu struktura przechowuje wartości wszystkich swoich pól jednocześnie.

Unia natomiast rezerwuje tylko tyle pamięci, ile zajmuje jej największe pole. Wszystkie pola unii współdzielą dokładnie ten sam obszar pamięci. Oznacza to, że w danej chwili w unii możesz przechowywać tylko jedną wartość – zapisanie nowej nadpisuje poprzednią.

Sprawdź się w praktyce

Rozwiąż pełny test próbny INF.04 albo wylosuj pojedyncze pytanie na szybką powtórkę.

Podobne pytania — OOP - Podstawy