Unia (programowanie)

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania

Uniatyp danych w niektórych językach programowania, jak C lub asembler, grupujący wiele różnych sposobów interpretacji tego samego fragmentu pamięci. Odpowiednikiem unii w języku Pascal jest rekord z wariantami.

Typ – w językach programowania opis rodzaju, struktury i zakresu wartości, jakie może przyjmować dany literał, zmienna, stała, argument, wynik funkcji lub wartość.Pole znacznikowe, pole wyróżnikowe, flaga, pole rozróżniające – specjalny rodzaj pola dostępny w rekordach z wariantami, które określa aktualną postać rekordu, tzn. który wariant z dostępnego wykazu wariantów zawartych w definicji rekordu, ma przypisaną wartość aktualną.

Charakterystyka unii[ | edytuj kod]

Unia jest podobna do struktury, jednak wszystkie pola zajmują ten sam obszar pamięci – rozmiar unii jest równy rozmiarowi największego jej składnika.

Asembler (z ang. assembler) – termin informatyczny związany z programowaniem i tworzeniem kodu maszynowego dla procesorów. W języku polskim oznacza on program tworzący kod maszynowy na podstawie kodu źródłowego (tzw. asemblacja) wykonanego w niskopoziomowym języku programowania bazującym na podstawowych operacjach procesora zwanym językiem asemblera, popularnie nazywanym również asemblerem. W tym artykule język programowania nazywany będzie językiem asemblera, a program tłumaczący – asemblerem.Pamięć operacyjna (ang. internal memory, primary storage) – pamięć adresowana i dostępna bezpośrednio przez procesor, a nie przez urządzenia wejścia-wyjścia procesora. W pamięci tej mogą być umieszczane rozkazy (kody operacji) procesora (program) dostępne bezpośrednio przez procesor i stąd nazwa pamięć operacyjna. W Polsce często pamięć ta jest utożsamiana z pamięcią RAM, choć jest to zawężenie pojęcia, pamięcią operacyjną jest też pamięć nieulotna (ROM, EPROM i inne jej odmiany) dostępna bezpośrednio przez procesor, a dawniej używano pamięci o dostępie cyklicznym.

Przykładowo unia:

union nazwa_unii {
    char tablica_znakowa[4];
    int  wartosc;
} u;

tworzy zmienną u, do której można mieć dostęp albo jako do liczby (u.wartosc), albo jako do tablicy znaków (u.tablica_znakowa).

Tego typu manewry są czasem przydatne w niskopoziomowym programowaniu. Użycie unii nie jest jednak zalecane w innych wypadkach, gdyż jest wybitnie wrażliwe na różnice w reprezentacji poszczególnych typów w pamięci. Ten sam program, używający unii może zupełnie inaczej działać w zależności od tego, czy liczby są zapisywane jako big endian, czy little endian i jaką mają długość w bajtach:

Atrybut – element składni języka programowania, który określa konkretną właściwość (znaczenie), nadaną wybranemu elementowi (obiektowi).Visual Basic to język programowania wysokiego poziomu i narzędzie programowania firmy Microsoft. Składnia jest oparta na języku BASIC, ale unowocześniona. Zawiera kilkaset instrukcji, funkcji i słów kluczowych. Nie jest językiem w pełni obiektowym, gdyż nie udostępnia np. możliwości dziedziczenia, czy polimorfizmu. Wykorzystuje technologię ActiveX.
u.wartosc=0x44434241;

W u.tablica_znakowa znalazł się napis:

  • 'ABCD' w przypadku procesora Intel, kompilator 32-bitowy
  • 'AB' w przypadku procesora Intel, kompilator 16-bitowy dla DOS-u
  • 'DCBA' w przypadku procesora Motorola,


  • Podstrony: 1 [2] [3]




    Warto wiedzieć że... beta

    Definicja intuicyjna: Kod źródłowy to zapis programu komputerowego w formie czytelnej dla człowieka umożliwiający jego modyfikację i rozwój.
    Fraza – składniowa jednostka podrzędna stanowiąca część definicji większej jednostki złożonej, występującej w składni określonego języka programowania. Rolą fraz jest modyfikowanie i definiowanie szczegółów działania określonej jednostki nadrzędnej, w szczególności instrukcji lub deklaracji.
    Pascal – dawniej jeden z najpopularniejszych języków programowania, uniwersalny, wysokiego poziomu, ogólnego zastosowania, oparty na języku Algol. Został opracowany przez Niklausa Wirtha w 1970 roku. Nazwa języka pochodzi od nazwiska francuskiego fizyka, matematyka i filozofa Blaise Pascala.
    Zmienna nakładana, zmienna absolutna, nakładanie zmiennych – konstrukcja programistyczna dostępna w określonym języku programowania lub w jego konkretnej implementacji, umożliwiająca deklarowanie różnych zmiennych, w tym samym obszarze pamięci (dokładnie w tym samym, lub w wybranym fragmencie wspólnym). Takie postępowanie umożliwia odwoływanie się do danej zawartej w pamięci na wiele sposobów, tzn. różną interpretację ciągu bitów zawartych w tym obszarze lub fragmencie pewnego obszaru. W ten sposób danej zapisanej w pewnym obszarze pamięci można przypisać kilka różnych typów danych.
    Turbo Pascal – jedna z popularniejszych implementacji kompilatorów języka Pascal, zintegrowane środowisko programistyczne, produkt firmy Borland International dla procesorów Z-80 (system CP/M) oraz rodziny Intel 80x86 i nowszych. Obecnie nie jest już rozwijany. Następcą Turbo Pascala jest Borland Delphi.
    Analogia (gr. αναλογια – odpowiedniość, podobieństwo) – orzekanie o pewnych cechach omawianego przedmiotu (rzeczy, osoby, pojęcia itp.) na zasadzie jego podobieństwa do innego przedmiotu (dla którego odpowiednie cechy są określone i znane) lub równoległości występujących pomiędzy nimi innych cech. Pojęcie analogii jest szeroko stosowane w filozofii, prawie, matematyce, statystyce itd.
    Język programowania – zbiór zasad określających, kiedy ciąg symboli tworzy program komputerowy oraz jakie obliczenia opisuje.

    Reklama